applies latest patch to the renderers tests, special thanks to pgiraud for his great work! (hopefully closes #1128 this time)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@5340 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Éric Lemoine
2007-12-04 13:36:02 +00:00
parent 75795805b4
commit b71f8bc6c9
3 changed files with 32 additions and 1746 deletions

View File

@@ -5,7 +5,8 @@
function test_Elements_constructor(t) {
t.plan(5);
var el = document.body;
var el = document.createElement('div');
document.body.appendChild(el);
el.id = "foo";
OpenLayers.Renderer.Elements.prototype._createRenderRoot =
@@ -14,7 +15,7 @@
var rendererRoot = document.createElement("div");
OpenLayers.Renderer.Elements.prototype.createRenderRoot = function() {
return rendererRoot;
}
};
OpenLayers.Renderer.Elements.prototype._createRoot =
OpenLayers.Renderer.Elements.prototype.createRoot;
@@ -22,7 +23,7 @@
var root = document.createElement("div");
OpenLayers.Renderer.Elements.prototype.createRoot = function() {
return root;
}
};
var r = new OpenLayers.Renderer.Elements("foo");
@@ -31,7 +32,7 @@
t.ok(r.root != null, "elements root is not null");
t.ok(r.root.parentNode == rendererRoot, "elements root is correctly appended to rendererRoot");
t.ok(r.rendererRoot.parentNode == document.body, "elements rendererRoot is correctly appended to container");
t.ok(r.rendererRoot.parentNode == el, "elements rendererRoot is correctly appended to container");
OpenLayers.Renderer.Elements.prototype.createRenderRoot =
OpenLayers.Renderer.Elements.prototype._createRenderRoot;
@@ -54,12 +55,12 @@
OpenLayers.Renderer.prototype.destroy = function() {
g_Destroy = true;
}
};
var r = new OpenLayers.Renderer.SVG(document.body);
r.clear = function() {
g_Clear = true;
}
};
r.rendererRoot = 'foo';
r.root = 'bar';
r.xmlns = 'dude';
@@ -117,15 +118,15 @@
r.nodeFactory = function(id, type) {
var element = document.createElement("div");
return element;
}
};
var g_Node = null;
r.drawGeometryNode = function(node, geometry, style) {
g_Node = node;
return node;
}
};
r.getNodeType = function(geometry, style) {
return "div";
}
};
geometry = {
id: 'foo',
CLASS_NAME: 'bar'
@@ -158,7 +159,7 @@
r.nodeFactory = function(id, type) {
var element = document.createElement("div");
return element;
}
};
r.setStyle = function(node, style, options, geometry) {
return node;
};
@@ -168,7 +169,7 @@
r.drawPoint = function(node, geometry) {
properDraw = true;
return {};
}
};
geometry = {CLASS_NAME: 'OpenLayers.Geometry.Point'};
style = true;
r.drawGeometry(geometry, style);
@@ -179,7 +180,7 @@
r.drawLineString = function(g) {
properDraw = true;
return {};
}
};
geometry = {CLASS_NAME: 'OpenLayers.Geometry.LineString'};
style = true;
r.drawGeometry(geometry, style);
@@ -190,7 +191,7 @@
r.drawLinearRing = function(g) {
properDraw = true;
return {};
}
};
geometry = {CLASS_NAME: 'OpenLayers.Geometry.LinearRing'};
style = true;
r.drawGeometry(geometry, style);
@@ -201,7 +202,7 @@
r.drawPolygon = function(g) {
properDraw = true;
return {};
}
};
geometry = {CLASS_NAME: 'OpenLayers.Geometry.Polygon'};
style = true;
r.drawGeometry(geometry, style);
@@ -223,7 +224,7 @@
r.drawRectangle = function(g) {
properDraw = true;
return {};
}
};
geometry = {CLASS_NAME: 'OpenLayers.Geometry.Rectangle'};
style = true;
r.drawGeometry(geometry, style);
@@ -234,7 +235,7 @@
r.drawPoint = function(g) {
properDraw = true;
return {};
}
};
geometry = {
CLASS_NAME: 'OpenLayers.Geometry.MultiPoint',
components: [{CLASS_NAME: 'OpenLayers.Geometry.Point'}]
@@ -248,7 +249,7 @@
r.drawLineString = function(g) {
properDraw = true;
return {};
}
};
geometry = {
CLASS_NAME: 'OpenLayers.Geometry.MultiLineString',
components: [{CLASS_NAME: 'OpenLayers.Geometry.LineString'}]
@@ -262,7 +263,7 @@
r.drawPolygon = function(g) {
properDraw = true;
return {};
}
};
geometry = {
CLASS_NAME: 'OpenLayers.Geometry.MultiPolygon',
components: [{CLASS_NAME: 'OpenLayers.Geometry.Polygon'}]
@@ -280,17 +281,17 @@
var node = {
_featureId: 'foo'
}
};
var event = {
target: node
}
};
var id = OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent(event);
t.eq(id, 'foo', "returned id is correct when event with target is passed");
var event = {
srcElement: node
}
};
var id = OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent(event);
t.eq(id, 'foo', "returned id is correct when event with srcElement is passed");
@@ -301,22 +302,21 @@
var el = document.createElement('div');
document.body.appendChild(el);
el.id = 'foo';
el.id = 'bar';
var geometry = {
id: 'foo'
id: 'bar'
};
OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry);
t.ok(el.parentNode != document.body, "element correctly removed");
var el = document.createElement('div');
document.body.appendChild(el);
el.id = 'foo';
el.id = 'bar';
var geometry = {
CLASS_NAME: "OpenLayers.Geometry.MultiPoint",
components: [{
id: 'foo'
id: 'bar'
}]
};
@@ -325,11 +325,11 @@
var el = document.createElement('div');
document.body.appendChild(el);
el.id = 'foo';
el.id = 'bar';
var geometry = {
CLASS_NAME: "OpenLayers.Geometry.MultiLineString",
components: [{
id: 'foo'
id: 'bar'
}]
};
@@ -338,11 +338,11 @@
var el = document.createElement('div');
document.body.appendChild(el);
el.id = 'foo';
el.id = 'bar';
var geometry = {
CLASS_NAME: "OpenLayers.Geometry.MultiPolygon",
components: [{
id: 'foo'
id: 'bar'
}]
};

File diff suppressed because it is too large Load Diff

View File

@@ -302,614 +302,4 @@
<body>
<div id="map" style="width:500px;height:550px"></div>
</body>
</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, "1px", "rendererRoot width is correct");
t.eq(r.rendererRoot.style.height, "2px", "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>
<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, "1px", "rendererRoot width is correct");
t.eq(r.rendererRoot.style.height, "2px", "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>
</html>