From 48a47b993a6332a12a2b6801912692733b51a852 Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Wed, 15 Feb 2012 09:38:57 +0100 Subject: [PATCH] Fix a Format.WKT test that failed due to rounding / precision of values. --- tests/Format/WKT.html | 48 +++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/tests/Format/WKT.html b/tests/Format/WKT.html index 15d2b2cf62..4850925d25 100644 --- a/tests/Format/WKT.html +++ b/tests/Format/WKT.html @@ -254,21 +254,39 @@ t.plan(1); var projections = { - src: new OpenLayers.Projection("EPSG:4326"), - dest: new OpenLayers.Projection("EPSG:900913") - }; - - var points = { - src: new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-87.9, 41.9)), - dest: new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-9784983.2393667, 5146011.6785665)) - }; - - var format = new OpenLayers.Format.WKT({ - externalProjection: projections["src"], - internalProjection: projections["dest"] - }); - var feature = format.read("GEOMETRYCOLLECTION(POINT(" + points["src"].geometry.x + " " + points["src"].geometry.y + "))")[0]; - t.eq(feature.geometry.toString(), points["dest"].geometry.toString(), + src: new OpenLayers.Projection("EPSG:4326"), + dest: new OpenLayers.Projection("EPSG:900913") + }, + points = { + src: new OpenLayers.Feature.Vector( + new OpenLayers.Geometry.Point(-87.9, 41.9) + ), + dest: new OpenLayers.Feature.Vector( + new OpenLayers.Geometry.Point(-9784983.2393667, 5146011.6785665) + ) + }, + format = new OpenLayers.Format.WKT({ + externalProjection: projections["src"], + internalProjection: projections["dest"] + }), + gc_wkt_parts = [ + "GEOMETRYCOLLECTION(", + "POINT(", + points["src"].geometry.x, + " ", + points["src"].geometry.y, + ")", + ")" + ], + feature = format.read( gc_wkt_parts.join("") )[0], + gotGeom = feature.geometry, + expectGeom = points["dest"].geometry, + // we don't use geometry::toString because we might run into + // precision issues + got = gotGeom.x.toFixed(7) + ' ' + gotGeom.y.toFixed(7), + expected = expectGeom.x.toFixed(7) + ' ' + expectGeom.y.toFixed(7); + + t.eq(got, expected, "Geometry collections aren't transformed twice when reprojection."); }