rolling back ;'s after a function declaration, cleaning up some whitespace. no functional changes. all tests still pass ff && ie6. note that it has never been either a policy or a priority for us to maintain coding standards in the test files. I'm only doing this as an exercise for my brain, waiting for the second cup of coffee to kick in.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4156 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -9,7 +9,6 @@
|
||||
var multiple_features = '{"type": "FeatureCollection", "members": [{"geometry": {"type": "Point", "coordinates": [-91.0546875, 43.9453125]}, "type": "Feature", "id": 577, "properties": {"strokeColor": "red", "title": "Feature 2", "image": "foo.gif", "author": "Your Name Here"}}, {"geometry": {"type": "LineString", "coordinates": [[91.40625, -1.40625], [116.015625, -42.890625], [153.28125, -28.125], [108.984375, 11.25], [75.234375, 8.4375], [76.640625, 9.140625], [67.5, -36.5625], [67.5, -35.859375]]}, "type": "Feature", "id": 576, "properties": {"strokeColor": "red", "title": "Feature 1", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [139.5703125, 57.48046875]}, "type": "Feature", "id": 575, "properties": {"strokeColor": "blue", "title": "Feature 7", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [107.2265625, 82.44140625]}, "type": "Feature", "id": 574, "properties": {"strokeColor": "blue", "title": "Feature 6", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [94.21875, 72.94921875]}, "type": "Feature", "id": 573, "properties": {"strokeColor": "blue", "title": "Feature 5", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [116.3671875, 61.69921875]}, "type": "Feature", "id": 572, "properties": {"strokeColor": "blue", "title": "Feature 4", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [145.8984375, 73.65234375]}, "type": "Feature", "id": 571, "properties": {"strokeColor": "blue", "title": "Feature 3", "author": "Your Name Here"}}, {"geometry": {"type": "Polygon", "coordinates": [[[32.34375, 52.20703125], [87.1875, 70.13671875], [122.6953125, 37.44140625], [75.234375, 42.36328125], [40.078125, 42.36328125], [28.828125, 48.33984375], [18.6328125, 56.77734375], [23.203125, 65.56640625], [32.34375, 52.20703125]]]}, "type": "Feature", "id": 570, "properties": {"strokeColor": "blue", "title": "Feature 2", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [62.578125, -53.4375]}, "type": "Feature", "id": 569, "properties": {"strokeColor": "red", "title": "Feature 3", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [121.640625, 16.875]}, "type": "Feature", "id": 568, "properties": {"strokeColor": "red", "title": "Feature 6", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [135.703125, 8.4375]}, "type": "Feature", "id": 567, "properties": {"strokeColor": "red", "title": "Feature 4", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [137.109375, 48.515625]}, "type": "Feature", "id": 566, "properties": {"strokeColor": "red", "title": "Feature 274", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [0, 5]}, "type": "Feature", "id": 565, "properties": {}}, {"geometry": {"type": "Point", "coordinates": [0, 5]}, "type": "Feature", "id": 564, "properties": {}}, {"geometry": {"type": "Point", "coordinates": [0, 5]}, "type": "Feature", "id": 563, "properties": {}}, {"geometry": {"type": "Polygon", "coordinates": [[[-131.484375, -5.9765625], [-112.5, -58.0078125], [-32.34375, -50.2734375], [-114.609375, 52.3828125], [-167.34375, -35.5078125], [-146.953125, -57.3046875], [-139.921875, -34.1015625], [-131.484375, -5.9765625]]]}, "type": "Feature", "id": 562, "properties": {"strokeColor": "red", "title": "Feature 2", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [48.8671875, -15.8203125]}, "type": "Feature", "id": 560, "properties": {"strokeColor": "red", "title": "Feature 2", "author": "Your Name Here"}}, {"geometry": {"type": "LineString", "coordinates": [[-27.0703125, 59.4140625], [-77.6953125, 20.7421875], [30.5859375, -36.2109375], [67.1484375, 34.8046875]]}, "type": "Feature", "id": 559, "properties": {"strokeColor": "red", "title": "Feature 1", "author": "Your Name Here"}}, {"geometry": {"type": "Point", "coordinates": [12.65625, 16.5234375]}, "type": "Feature", "id": 558, "properties": {"styleUrl": "#allstyle", "title": "Feature 1", "strokeColor": "red", "author": "Your Name Here"}}]}';
|
||||
var parser = new OpenLayers.Format.GeoJSON();
|
||||
|
||||
|
||||
function test_Format_GeoJSON_constructor(t) {
|
||||
t.plan(4);
|
||||
|
||||
@@ -20,10 +19,11 @@
|
||||
t.eq(format.foo, "bar", "constructor sets options correctly");
|
||||
t.eq(typeof format.read, "function", "format has a read function");
|
||||
t.eq(typeof format.write, "function", "format has a write function");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_valid_type(t) {
|
||||
t.plan(13);
|
||||
|
||||
OpenLayers.Console.error = function(error) { window.global_error = error; }
|
||||
var types = ["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "Box"];
|
||||
for (var i = 0; i < types.length; i++) {
|
||||
@@ -35,27 +35,32 @@
|
||||
t.ok(parser.isValidType({'type':"GeometryCollection"}, "GeometryCollection"), "Geometry Collection type is valid");
|
||||
t.ok(!parser.isValidType({'type':"GeometryCollection2"}, "GeometryCollection"), "Geometry Collection 2 type is invalid");
|
||||
t.eq(global_error, "Cannot convert types from GeometryCollection2 to GeometryCollection", "error message set correctly for bad geometrycollection type");
|
||||
}
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_point(t) {
|
||||
t.plan(3);
|
||||
|
||||
data = parser.read(point_feature);
|
||||
t.eq(data[0].fid, 573, "Fid is correct on point feature");
|
||||
t.eq(data[0].geometry.x, 94.21875, 'Reading point feature gives correct x');
|
||||
data = parser.read(point_feature, "Feature");
|
||||
t.eq(data.fid, 573, 'Reading point feature with type gives feature instead of array of features ');
|
||||
}
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_line(t) {
|
||||
t.plan(5);
|
||||
|
||||
data = parser.read(line_feature);
|
||||
t.eq(data[0].fid, 559, "Fid is correct on line feature");
|
||||
t.eq(data[0].geometry.components.length, 4, 'Reading line feature gives correct length');
|
||||
t.eq(data[0].geometry.CLASS_NAME, 'OpenLayers.Geometry.LineString', 'Reading line feature gives correct class');
|
||||
t.eq(data[0].geometry.components[0].x, -27.0703125, 'Reading line feature gives correct x');
|
||||
t.eq(data[0].geometry.components[0].y, 59.4140625, 'Reading line feature gives correct y');
|
||||
}
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_poly(t) {
|
||||
t.plan(2);
|
||||
|
||||
data = parser.read(poly_content);
|
||||
t.eq(data[0].fid, 562, "poly id is correct")
|
||||
t.eq(data[0].geometry.components[0].components.length, 8,
|
||||
@@ -64,6 +69,7 @@
|
||||
|
||||
function test_Format_GeoJSON_multipoint(t) {
|
||||
t.plan(5);
|
||||
|
||||
var multipoint = {
|
||||
"type": "MultiPoint",
|
||||
"coordinates": [
|
||||
@@ -79,23 +85,25 @@
|
||||
t.eq(data.components[1].y, 1, "y of second component is right");
|
||||
}
|
||||
|
||||
|
||||
function test_Format_GeoJSON_multiline(t) {
|
||||
t.plan(3);
|
||||
|
||||
var multiline = {
|
||||
"type": "MultiLineString",
|
||||
"coordinates": [
|
||||
[ [100.0, 0.0], [101.0, 1.0] ],
|
||||
[ [102.0, 2.0], [103.0, 3.0] ]
|
||||
]
|
||||
}
|
||||
};
|
||||
data = parser.read(multiline, "Geometry");
|
||||
t.eq(data.CLASS_NAME, "OpenLayers.Geometry.MultiLineString", "Correct class retrieved")
|
||||
t.eq(data.components[0].components[0].CLASS_NAME, "OpenLayers.Geometry.Point", "correct type of components")
|
||||
t.eq(data.components[0].CLASS_NAME, "OpenLayers.Geometry.LineString", "correct type of components")
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_multipol(t) {
|
||||
t.plan(2);
|
||||
|
||||
var multipol = {
|
||||
"type": "MultiPolygon",
|
||||
"coordinates": [
|
||||
@@ -107,15 +115,16 @@
|
||||
[ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ]
|
||||
]
|
||||
]
|
||||
}
|
||||
};
|
||||
OpenLayers.Console.error = function(error) { window.global_error = error; }
|
||||
data = parser.read(multipol, "Geometry");
|
||||
t.eq(data.CLASS_NAME, "OpenLayers.Geometry.MultiPolygon", "Correct class retrieved")
|
||||
t.eq(data.components[1].components[0].components[0].CLASS_NAME, "OpenLayers.Geometry.Point", "correct type of components")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_box(t) {
|
||||
t.plan(6);
|
||||
|
||||
var box = {
|
||||
"type": "Box",
|
||||
"coordinates": [[100.0, 0.0], [101.0, 1.0]]
|
||||
@@ -128,14 +137,12 @@
|
||||
t.eq(poly.components[0].components[3].y, 1, "y of upper left is correct");
|
||||
var box = parser.write(poly );
|
||||
t.ok(box.search("Polygon") != -1 , "Serializes back to polygon");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// This test is from the geom_collection example on geojson spec.
|
||||
function test_Format_GeoJSON_geom_collection(t) {
|
||||
t.plan(7);
|
||||
|
||||
var geomcol = {
|
||||
"type": "GeometryCollection",
|
||||
"members": [
|
||||
@@ -150,7 +157,7 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
data = parser.read(geomcol, "GeometryCollection");
|
||||
t.eq(data[0].CLASS_NAME,
|
||||
"OpenLayers.Geometry.Point", "First geom in geom collection is point type");
|
||||
@@ -162,11 +169,11 @@
|
||||
t.eq(data[1].components.length, 2, "linestring is correct length");
|
||||
t.eq(data[1].components[1].x, 102, "linestring is correct x end");
|
||||
t.eq(data[1].components[1].y, 1, "linestring is correct y end");
|
||||
|
||||
}
|
||||
|
||||
|
||||
function test_Format_GeoJSON_multipleFeatures(t) {
|
||||
t.plan(2);
|
||||
|
||||
var feats = parser.read(multiple_features);
|
||||
t.eq(feats.length, 19, "parsing a feature collection returns the correct number of features.");
|
||||
var types = {'Point':0, 'LineString':0, 'Polygon':0}
|
||||
@@ -176,43 +183,70 @@
|
||||
}
|
||||
t.eq(types, {'Point':15, 'Polygon': 2, 'LineString':2}, "Correct number of each type");
|
||||
}
|
||||
|
||||
|
||||
function test_Format_GeoJSON_write(t) {
|
||||
t.plan(10);
|
||||
var line_object = {"type": "FeatureCollection",
|
||||
"members": [{"geometry":
|
||||
{"type": "LineString",
|
||||
"coordinates": [[-27.0703125, 59.4140625],
|
||||
[-77.6953125, 20.7421875],
|
||||
[30.5859375, -36.2109375],
|
||||
[67.1484375, 34.8046875]]},
|
||||
"type": "Feature",
|
||||
"id": 559,
|
||||
"properties":
|
||||
{
|
||||
"strokeColor": "red",
|
||||
"title": "Feature 1",
|
||||
"author": "Your Name Here"}}]};
|
||||
|
||||
var line_object = {
|
||||
"type": "FeatureCollection",
|
||||
"members": [
|
||||
{
|
||||
"geometry": {
|
||||
"type": "LineString",
|
||||
"coordinates": [
|
||||
[-27.0703125, 59.4140625],
|
||||
[-77.6953125, 20.7421875],
|
||||
[30.5859375, -36.2109375],
|
||||
[67.1484375, 34.8046875]
|
||||
]
|
||||
},
|
||||
"type": "Feature",
|
||||
"id": 559,
|
||||
"properties": {
|
||||
"strokeColor": "red",
|
||||
"title": "Feature 1",
|
||||
"author": "Your Name Here"
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
data = parser.read(line_object);
|
||||
out = parser.write(data);
|
||||
serialized = '{"type":"FeatureCollection","members":[{"type":"Feature","id":559,"properties":{"strokeColor":"red","title":"Feature 1","author":"Your Name Here"},"geometry":{"type":"LineString","coordinates":[[-27.0703125,59.4140625],[-77.6953125,20.7421875],[30.5859375,-36.2109375],[67.1484375,34.8046875]]}}]}';
|
||||
t.eq(out, serialized, "input and output on line collections are the same");
|
||||
|
||||
var serialize_tests = [
|
||||
[new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,2)),
|
||||
'{"type":"Feature","id":0,"properties":{},"geometry":{"type":"Point","coordinates":[1,2]}}'],
|
||||
[new OpenLayers.Geometry.Point(1,2),
|
||||
'{"type":"Point","coordinates":[1,2]}'],
|
||||
[new OpenLayers.Geometry.MultiPoint([new OpenLayers.Geometry.Point(1,2)]),
|
||||
'{"type":"MultiPoint","coordinates":[[1,2]]}'],
|
||||
[new OpenLayers.Geometry.LineString([new OpenLayers.Geometry.Point(1,2), new OpenLayers.Geometry.Point(3,4)]),
|
||||
'{"type":"LineString","coordinates":[[1,2],[3,4]]}'],
|
||||
[new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1,2),
|
||||
new OpenLayers.Geometry.Point(3,4),
|
||||
new OpenLayers.Geometry.Point(5,6)])]),
|
||||
'{"type":"Polygon","coordinates":[[[1,2],[3,4],[5,6],[1,2]]]}']
|
||||
[
|
||||
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,2)),
|
||||
'{"type":"Feature","id":0,"properties":{},"geometry":{"type":"Point","coordinates":[1,2]}}'
|
||||
],
|
||||
[
|
||||
new OpenLayers.Geometry.Point(1,2),
|
||||
'{"type":"Point","coordinates":[1,2]}'
|
||||
],
|
||||
[
|
||||
new OpenLayers.Geometry.MultiPoint([
|
||||
new OpenLayers.Geometry.Point(1,2)
|
||||
]),
|
||||
'{"type":"MultiPoint","coordinates":[[1,2]]}'
|
||||
],
|
||||
[
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1,2),
|
||||
new OpenLayers.Geometry.Point(3,4)
|
||||
]),
|
||||
'{"type":"LineString","coordinates":[[1,2],[3,4]]}'
|
||||
],
|
||||
[
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1,2),
|
||||
new OpenLayers.Geometry.Point(3,4),
|
||||
new OpenLayers.Geometry.Point(5,6)
|
||||
])
|
||||
]),
|
||||
'{"type":"Polygon","coordinates":[[[1,2],[3,4],[5,6],[1,2]]]}'
|
||||
]
|
||||
];
|
||||
serialize_tests[0][0].fid = 0;
|
||||
multiline = new OpenLayers.Geometry.MultiLineString([serialize_tests[3][0], serialize_tests[3][0]]);
|
||||
@@ -227,31 +261,41 @@
|
||||
test_out = parser.write(input);
|
||||
t.eq(test_out, output, "Serializing " + input.toString() + " saved correctly.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_read_object(t) {
|
||||
t.plan(1);
|
||||
var line_object = {"type": "FeatureCollection",
|
||||
"members": [{"geometry":
|
||||
{"type": "LineString",
|
||||
"coordinates": [[-27.0703125, 59.4140625],
|
||||
[-77.6953125, 20.7421875],
|
||||
[30.5859375, -36.2109375],
|
||||
[67.1484375, 34.8046875]]},
|
||||
"type": "Feature",
|
||||
"id": 559,
|
||||
"properties":
|
||||
{
|
||||
"strokeColor": "red",
|
||||
"title": "Feature 1",
|
||||
"author": "Your Name Here"}}]};
|
||||
|
||||
var line_object = {
|
||||
"type": "FeatureCollection",
|
||||
"members": [
|
||||
{
|
||||
"geometry": {
|
||||
"type": "LineString",
|
||||
"coordinates": [
|
||||
[-27.0703125, 59.4140625],
|
||||
[-77.6953125, 20.7421875],
|
||||
[30.5859375, -36.2109375],
|
||||
[67.1484375, 34.8046875]
|
||||
]
|
||||
},
|
||||
"type": "Feature",
|
||||
"id": 559,
|
||||
"properties": {
|
||||
"strokeColor": "red",
|
||||
"title": "Feature 1",
|
||||
"author": "Your Name Here"
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
data = parser.read(line_object);
|
||||
t.eq(data[0].fid, 559, "Can read data from an object correctly.");
|
||||
}
|
||||
}
|
||||
|
||||
function test_Format_GeoJSON_read_attributes(t) {
|
||||
t.plan(3);
|
||||
|
||||
var parser = new OpenLayers.Format.GeoJSON();
|
||||
data = parser.read(line_feature);
|
||||
t.eq(data[0].attributes['strokeColor'], 'red', 'read strokeColor attribute properly');
|
||||
@@ -259,7 +303,6 @@
|
||||
t.eq(data[0].attributes['author'], 'Your Name Here', 'read author attribute properly');
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user