Merge branch '2.12'

This commit is contained in:
Éric Lemoine
2012-05-16 21:05:47 +02:00
7 changed files with 81 additions and 27 deletions

View File

@@ -19,13 +19,48 @@
"default external projection is EPSG:4326");
}
function test_Format_GPX_read(t) {
t.plan(4);
t.plan(7);
var expected,
P = OpenLayers.Geometry.Point,
LS = OpenLayers.Geometry.LineString;
var f = new OpenLayers.Format.GPX();
var features = f.read(gpx_data);
t.eq(features.length, 3, "Number of features read is correct");
t.eq(features[2].geometry.toString(), "POINT(-0.1853562259 51.3697845627)", "waypoint feature correctly created");
t.eq(features[0].geometry.toString(), "LINESTRING(-0.1721292044 51.3768216433,-0.1649230916 51.370833767,-0.1736741378 51.3644368725,-0.166259525 51.3576354272)", "track feature correctly created");
t.eq(features[1].geometry.toString(), "LINESTRING(-0.1829991904 51.3761803674,-0.1758887005 51.3697894659,-0.1833202965 51.3639790884,-0.1751119509 51.3567607069)", "route feature correctly created");
expected = new P(-0.1853562259, 51.3697845627);
t.geom_eq(features[2].geometry, expected, "waypoint feature correctly created");
expected = new LS([
new P(-0.1721292044, 51.3768216433),
new P(-0.1649230916, 51.370833767),
new P(-0.1736741378, 51.3644368725),
new P(-0.166259525, 51.3576354272)
]);
t.geom_eq(features[0].geometry, expected, "track feature correctly created");
expected = new LS([
new P(-0.1829991904, 51.3761803674),
new P(-0.1758887005, 51.3697894659),
new P(-0.1833202965, 51.3639790884),
new P(-0.1751119509, 51.3567607069)
]);
t.geom_eq(features[1].geometry, expected, "route feature correctly created");
f.internalProjection = new OpenLayers.Projection("EPSG:3857");
features = f.read(gpx_data);
expected = new P(-20633.760679678744, 6686966.841929403);
t.geom_eq(features[2].geometry, expected, "transformed waypoint feature correctly created");
expected = new LS([
new P(-19161.33538179203, 6688221.743275255),
new P(-18359.1545744088, 6687153.931130851),
new P(-19333.316581165607, 6686013.33343931),
new P(-18507.925659955214, 6684800.777090962)
]);
t.geom_eq(features[0].geometry, expected, "transformed track feature correctly created");
expected = new LS([
new P(-20371.3766880736, 6688107.378491073),
new P(-19579.84057322507, 6686967.716235109),
new P(-20407.12205561124, 6685931.714395953),
new P(-19493.373203291227, 6684644.845706556)
]);
t.geom_eq(features[1].geometry, expected, "transformed route feature correctly created");
}
function test_format_GPX_read_attributes(t) {
t.plan(2);
@@ -35,7 +70,7 @@
t.eq(features[2].attributes['sym'], "Flag", "CDATA attribute node read correctly.");
}
function test_Format_GPX_serialize_points(t) {
t.plan(1);
t.plan(2);
var parser = new OpenLayers.Format.GPX();
@@ -47,9 +82,19 @@
];
var data = parser.write(features);
t.xml_eq(data, '<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="OpenLayers" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wpt lon="-111.04" lat="45.68"><name>foo</name><desc>bar</desc></wpt><wpt lon="-112.04" lat="45.68"><name>foo</name><desc>bar</desc></wpt></gpx>', 'GPX serializes points correctly');
parser.internalProjection = new OpenLayers.Projection("EPSG:3857");
point = new OpenLayers.Geometry.Point(-12367595.42541111, 5621521.485409545);
point2 = new OpenLayers.Geometry.Point(-12472235.746742222, 5621521.485409545);
features = [
new OpenLayers.Feature.Vector(point, {name: 'foo', description: 'bar'}),
new OpenLayers.Feature.Vector(point2, {name: 'foo', description: 'bar'})
];
data = parser.write(features);
t.xml_eq(data, '<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="OpenLayers" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wpt lon="-111.1" lat="45"><name>foo</name><desc>bar</desc></wpt><wpt lon="-112.04" lat="45"><name>foo</name><desc>bar</desc></wpt></gpx>', 'GPX serializes transformed points correctly');
}
function test_Format_GPX_serialize_line(t) {
t.plan(1);
t.plan(2);
var parser = new OpenLayers.Format.GPX();
@@ -59,6 +104,14 @@
var f = new OpenLayers.Feature.Vector(line, {name: 'foo', description: 'bar'});
var data = parser.write(f);
t.xml_eq(data, '<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="OpenLayers" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><trk><name>foo</name><desc>bar</desc><trkseg><trkpt lon="-111.04" lat="45.68"/><trkpt lon="-112.04" lat="45.68"/></trkseg></trk></gpx>', 'GPX serializes line correctly');
parser.internalProjection = new OpenLayers.Projection("EPSG:3857");
point = new OpenLayers.Geometry.Point(-12367595.42541111, 5621521.485409545);
point2 = new OpenLayers.Geometry.Point(-12472235.746742222, 5621521.485409545);
line = new OpenLayers.Geometry.LineString([point, point2]);
f = new OpenLayers.Feature.Vector(line, {name: 'foo', description: 'bar'});
data = parser.write(f);
t.xml_eq(data, '<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="OpenLayers" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><trk><name>foo</name><desc>bar</desc><trkseg><trkpt lon="-111.1" lat="45"/><trkpt lon="-112.04" lat="45"/></trkseg></trk></gpx>', 'GPX serializes transformed line correctly');
}
function test_Format_GPX_serialize_lines(t) {
t.plan(1);

View File

@@ -305,7 +305,7 @@
// Test fix for Ticket #3142
function test_layerLoadedAfterBeingAdded(t) {
t.plan(2);
t.plan(3);
var dummy = new OpenLayers.Layer(null, {isBaseLayer: true});
@@ -341,6 +341,11 @@
// test that the strategy bounds were set
t.ok(map.getExtent().equals(strategy.bounds), "[set center] bounds set to map extent");
t.eq(layerOutOfRange.strategies[0].bounds, null, "Data not requested if layer is out of range");
layerOutOfRange.setVisibility(false);
layerOutOfRange.setVisibility(true);
t.eq(layerOutOfRange.strategies[0].bounds, null, "Data not requested if layer is out of range when switching visibility");
map.destroy();
}