diff options
Diffstat (limited to 'misc/openlayers/tests/Strategy/Save.html')
-rw-r--r-- | misc/openlayers/tests/Strategy/Save.html | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/misc/openlayers/tests/Strategy/Save.html b/misc/openlayers/tests/Strategy/Save.html deleted file mode 100644 index 1290485..0000000 --- a/misc/openlayers/tests/Strategy/Save.html +++ /dev/null @@ -1,127 +0,0 @@ -<html> -<head> - <script src="../OLLoader.js"></script> - <script type="text/javascript"> - - function test_initialize(t) { - t.plan(1); - var strategy = new OpenLayers.Strategy.Save(); - t.eq(strategy.auto, false, "auto is false by default"); - } - - function test_activate(t) { - - t.plan(3); - - var strategy = new OpenLayers.Strategy.Save(); - var layer = new OpenLayers.Layer.Vector(null, { - isBaseLayer: true, - protocol: new OpenLayers.Protocol(), - strategies: [strategy] - }); - var map = new OpenLayers.Map("map"); - map.addLayer(layer); - map.zoomToMaxExtent(); - - // check that auto true registers listeners - strategy.deactivate(); - strategy.auto = true; - strategy.activate(); - t.ok(layer.events.listeners["featureadded"][0].func === strategy.triggerSave, - "[auto true] triggerSave registered as listener for featureadded"); - t.ok(layer.events.listeners["afterfeaturemodified"][0].func === strategy.triggerSave, - "[auto true] triggerSave registered as listener for afterfeaturemodified"); - - // check that auto can be set to interval - strategy.deactivate(); - strategy.auto = 1; - strategy.activate(); - t.ok(strategy.timer != null, "[auto number] timer set") - - map.destroy(); - - } - - function test_save(t) { - t.plan(9); - - var strategy = new OpenLayers.Strategy.Save(); - - // mock up a protocol for synchronous and successful commits - var protocol = new OpenLayers.Protocol({ - commit: function(features, options) { - var response = new OpenLayers.Protocol.Response(); - response.reqFeatures = features; - response.insertIds = []; - for(var i=0; i<features.length; ++i) { - // test feature.url first - t.eq(features[i].url, "url" + i, - "feature.url correctly set (url" + i + ")"); - if(features[i].state == OpenLayers.State.INSERT) { - response.insertIds.push("new_" + i); - } - } - response.code = OpenLayers.Protocol.Response.SUCCESS; - options.callback.call(options.scope, response); - } - }); - - var layer = new OpenLayers.Layer.Vector(null, { - isBaseLayer: true, - protocol: protocol, - strategies: [strategy], - projection: "EPSG:4326" - }); - var map = new OpenLayers.Map("map", { - getProjectionObject: function() { - return new OpenLayers.Projection("EPSG:900913"); - } - }) - map.addLayer(layer); - map.zoomToMaxExtent(); - - // give the layer some features - var features = [ - new OpenLayers.Feature.Vector( - new OpenLayers.Geometry.Point(5, 45) - ), // insert - new OpenLayers.Feature.Vector( - new OpenLayers.Geometry.Point(6, 46) - ), // delete - new OpenLayers.Feature.Vector( - new OpenLayers.Geometry.Point(7, 47) - ), // update - new OpenLayers.Feature.Vector( - new OpenLayers.Geometry.Point(8, 48) - ) // nothing - ]; - features[0].state = OpenLayers.State.INSERT; - features[0].url = "url0"; - features[1].state = OpenLayers.State.DELETE; - features[1].url = "url1"; - features[2].state = OpenLayers.State.UPDATE; - features[2].url = "url2"; - features[3].url = "url3"; - layer.addFeatures(features); - - // save feature modifications - strategy.save(features); - - // confirm that newly created feature has an id and no longer has insert state - t.eq(features[0].fid, "new_0", "newly created feature gets fid"); - t.ok(features[0].state == null, "newly created feature no longer insert state"); - - // confirm that deleted features are not on layer - t.eq(layer.features.length, 3, "layer only has three features"); - t.ok(features[1].layer == null, "deleted feature has no layer"); - - // confirm that updated feature no longer has update state - t.ok(features[2].state == null, "updated feature no longer update state"); - } - - </script> -</head> -<body> - <div id="map" style="width: 400px; height: 200px" /> -</body> -</html> |