git-svn-id: http://svn.openlayers.org/trunk/openlayers@5492 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
306 lines
8.5 KiB
HTML
306 lines
8.5 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../lib/OpenLayers.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
var geometry = null, node = null;
|
|
|
|
function test_VML_constructor(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(1);
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
t.ok(r instanceof OpenLayers.Renderer.VML, "new OpenLayers.Renderer.VML returns VML object" );
|
|
}
|
|
|
|
function test_VML_destroy(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(1);
|
|
|
|
var g_Destroy = false;
|
|
|
|
OpenLayers.Renderer.Elements.prototype._destroy =
|
|
OpenLayers.Renderer.Elements.prototype.destroy;
|
|
|
|
OpenLayers.Renderer.prototype.destroy = function() {
|
|
g_Destroy = true;
|
|
}
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.destroy();
|
|
|
|
t.eq(g_Destroy, true, "OpenLayers.Renderer.Elements.destroy() called");
|
|
|
|
OpenLayers.Renderer.prototype.destroy =
|
|
OpenLayers.Renderer.prototype._destroy;
|
|
}
|
|
|
|
function test_VML_setextent(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(3);
|
|
|
|
OpenLayers.Renderer.Elements.prototype._setExtent =
|
|
OpenLayers.Renderer.Elements.prototype.setExtent;
|
|
|
|
var g_SetExtent = false;
|
|
OpenLayers.Renderer.Elements.prototype.setExtent = function() {
|
|
g_SetExtent = true;
|
|
}
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.map = {
|
|
getResolution: function() {
|
|
return 0.5;
|
|
}
|
|
}
|
|
|
|
var extent = new OpenLayers.Bounds(1,2,3,4);
|
|
r.setExtent(extent);
|
|
|
|
t.eq(g_SetExtent, true, "Elements.setExtent() called");
|
|
|
|
t.ok(r.root.coordorigin == "2,8", "coordorigin is correct");
|
|
t.ok(r.root.coordsize == "4,-4", "coordsize is correct");
|
|
|
|
OpenLayers.Renderer.Elements.prototype.setExtent =
|
|
OpenLayers.Renderer.Elements.prototype._setExtent;
|
|
}
|
|
|
|
function test_VML_setsize(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(4);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
|
|
var size = new OpenLayers.Size(1,2);
|
|
r.setSize(size);
|
|
t.eq(r.rendererRoot.style.width, "100%", "rendererRoot width is correct");
|
|
t.eq(r.rendererRoot.style.height, "100%", "rendererRoot height is correct");
|
|
|
|
t.eq(r.root.style.width, "100%", "root width is correct");
|
|
t.eq(r.root.style.height, "100%", "root height is correct");
|
|
}
|
|
|
|
function test_VML_drawpoint(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(1);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
|
|
var properDraw = false;
|
|
var g_Radius = null;
|
|
r.drawCircle = function(n, g, r) {
|
|
properDraw = true;
|
|
g_Radius = 1;
|
|
}
|
|
r.drawPoint();
|
|
|
|
t.ok(properDraw && g_Radius == 1, "drawPoint called drawCircle with radius set to 1");
|
|
}
|
|
|
|
function test_VML_drawcircle(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(4);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.resolution = 0.5;
|
|
|
|
var node = document.createElement('div');
|
|
|
|
var geometry = {
|
|
x: 1,
|
|
y: 2
|
|
}
|
|
|
|
var radius = 3;
|
|
r.drawCircle(node, geometry, radius);
|
|
|
|
t.eq(node.style.left, '-1px', "left is correct");
|
|
t.eq(node.style.top, '1px', "top is correct");
|
|
t.eq(node.style.width, (2 * radius) + "px", "width is correct");
|
|
t.eq(node.style.height, (2 * radius) + "px", "height is correct");
|
|
}
|
|
|
|
function test_VML_drawlinestring(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(1);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
|
|
g_DrawLine = false;
|
|
r.drawLine = function(c) {
|
|
g_DrawLine = true;
|
|
}
|
|
|
|
r.drawLineString(node, geometry);
|
|
|
|
t.ok(g_DrawLine, "drawLine is called");
|
|
}
|
|
|
|
function test_VML_drawlinearring(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(1);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
|
|
g_DrawLine = false;
|
|
r.drawLine = function(c) {
|
|
g_DrawLine = true;
|
|
}
|
|
|
|
r.drawLinearRing(node, geometry);
|
|
|
|
t.ok(g_DrawLine, "drawLine is called");
|
|
}
|
|
|
|
function test_VML_drawline(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(8);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.resolution = 0.5;
|
|
|
|
var node = document.createElement('div');
|
|
|
|
var geometry = {
|
|
components: [{
|
|
x: 1,
|
|
y: 2
|
|
},{
|
|
x: 3,
|
|
y: 4
|
|
}],
|
|
getBounds: function() {
|
|
return new OpenLayers.Bounds(5,6,7,8);
|
|
}
|
|
};
|
|
|
|
r.drawLine(node, geometry, true);
|
|
t.ok(node.path.indexOf("x") != -1, "path attribute is correct when passed closeLine = true");
|
|
|
|
|
|
r.drawLine(node, geometry, false);
|
|
t.eq(node.path, "m 2,4 l 6,8 l e", "path attribute is correct");
|
|
t.eq(node.style.left, "10px", "node.style.left is correct");
|
|
t.eq(node.style.top, "16px", "node.style.top is correct");
|
|
t.eq(node.style.width, "4px", "node.style.width is correct");
|
|
t.eq(node.style.height, "4px", "node.style.height is correct");
|
|
t.eq(node.coordorigin, "10 16", "node.coordorigin is correct");
|
|
t.eq(node.coordsize, "4 4", "node.coordsize is correct");
|
|
}
|
|
|
|
function test_VML_drawpolygon(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(2);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.resolution = 0.5;
|
|
|
|
g_SetNodeDimension = false;
|
|
r.setNodeDimension = function(){
|
|
g_SetNodeDimension = true;
|
|
};
|
|
|
|
var node = document.createElement('div');
|
|
|
|
var linearRing = {
|
|
components: [{
|
|
x: 1,
|
|
y: 2
|
|
},{
|
|
x: 3,
|
|
y: 4
|
|
}]
|
|
};
|
|
var linearRing2 = {
|
|
components: [{
|
|
x: 5,
|
|
y: 6
|
|
},{
|
|
x: 7,
|
|
y: 8
|
|
}]
|
|
};
|
|
var geometry = {
|
|
components: [linearRing, linearRing2]
|
|
};
|
|
r.drawPolygon(node, geometry, true);
|
|
t.ok(g_SetNodeDimension, "setNodeDimension is called");
|
|
t.eq(node.path, "m 2,4 l 6,8 x m 10,12 l 14,16 x e", "path attribute is correct");
|
|
}
|
|
|
|
function test_VML_drawrectangle(t) {
|
|
if (!OpenLayers.Renderer.VML.prototype.supported()) {
|
|
t.plan(0);
|
|
return;
|
|
}
|
|
|
|
t.plan(4);
|
|
|
|
var r = new OpenLayers.Renderer.VML(document.body);
|
|
r.resolution = 0.5;
|
|
|
|
var node = document.createElement('div');
|
|
|
|
var geometry = {
|
|
x: 1,
|
|
y: 2,
|
|
width: 3,
|
|
height: 4
|
|
}
|
|
|
|
r.drawRectangle(node, geometry);
|
|
|
|
t.eq(node.style.left, "2px", "node.style.left is correct");
|
|
t.eq(node.style.top, "4px", "node.style.top is correct");
|
|
t.eq(node.style.width, "6px", "node.style.width is correct");
|
|
t.eq(node.style.height, "8px", "node.style.height is correct");
|
|
}
|
|
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="map" style="width:500px;height:550px"></div>
|
|
</body>
|
|
</html>
|