summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Protocol
diff options
context:
space:
mode:
authorChris Schlaeger <chris@linux.com>2015-10-17 21:36:38 +0200
committerChris Schlaeger <chris@linux.com>2015-10-17 21:36:38 +0200
commite30f267181d990947e67909de4809fa941698c85 (patch)
tree46e9f94c2b3699ed378963b420b8a8d361286ea1 /misc/openlayers/tests/Protocol
parente763ceb183f389fcd314a4a6a712d87c9d4cdb32 (diff)
downloadpostrunner-e30f267181d990947e67909de4809fa941698c85.zip
Upgrading openlayers to 3.x
Diffstat (limited to 'misc/openlayers/tests/Protocol')
-rw-r--r--misc/openlayers/tests/Protocol/CSW.html90
-rw-r--r--misc/openlayers/tests/Protocol/HTTP.html842
-rw-r--r--misc/openlayers/tests/Protocol/SOS.html57
-rw-r--r--misc/openlayers/tests/Protocol/Script.html282
-rw-r--r--misc/openlayers/tests/Protocol/WFS.html471
5 files changed, 0 insertions, 1742 deletions
diff --git a/misc/openlayers/tests/Protocol/CSW.html b/misc/openlayers/tests/Protocol/CSW.html
deleted file mode 100644
index 8c0847c..0000000
--- a/misc/openlayers/tests/Protocol/CSW.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
- <script src="../../lib/OpenLayers.js"></script>
- <script type="text/javascript">
-
- function test_initialize(t) {
- t.plan(3);
-
- var protocol = new OpenLayers.Protocol.CSW({formatOptions: {foo: "bar"}});
- t.ok(protocol instanceof OpenLayers.Protocol.CSW.v2_0_2,
- "initialize returns instance of default versioned protocol");
- var format = protocol.format;
- t.ok(format instanceof OpenLayers.Format.CSWGetRecords.v2_0_2, "Default format created");
- t.ok(format.foo, "bar", "formatOptions set correctly");
- protocol.destroy();
- }
-
- function test_read(t) {
- t.plan(6);
-
- var protocol = new OpenLayers.Protocol.CSW({
- url: "http://some.url.org",
- parseData: function(request) {
- t.eq(request.responseText, "foo", "parseData called properly");
- return "foo";
- }
- });
-
- var _POST = OpenLayers.Request.POST;
-
- var expected, status;
- OpenLayers.Request.POST = function(obj) {
- t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "GetRecords request is correct");
- obj.status = status;
- obj.responseText = "foo";
- obj.options = {};
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- expected = readXML("GetRecords");
- status = 200;
- var data = {
- "resultType": "results",
- "maxRecords": 100,
- "Query": {
- "typeNames": "gmd:MD_Metadata",
- "ElementSetName": {
- "value": "full"
- }
- }
- };
- var response = protocol.read({
- params: data,
- callback: function(response) {
- t.eq(response.data, "foo", "user callback properly called with data");
- t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS, "success reported properly to user callback");
- }
- });
-
- var options = {
- params: data,
- callback: function(response) {
- t.eq(response.code, OpenLayers.Protocol.Response.FAILURE, "failure reported properly to user callback");
- }
- };
- status = 400;
- var response = protocol.read(options);
-
- OpenLayers.Request.POST = _POST;
- }
-
- function readXML(id) {
- var xml = document.getElementById(id).firstChild.nodeValue;
- return new OpenLayers.Format.XML().read(xml).documentElement;
- }
-
- </script>
-</head>
-<body>
-<div id="map" style="width:512px; height:256px"> </div>
-<div id="GetRecords"><!--
-<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" version="2.0.2" resultType="results" maxRecords="100">
- <csw:Query typeNames="gmd:MD_Metadata">
- <csw:ElementSetName>full</csw:ElementSetName>
- </csw:Query>
-</csw:GetRecords>
---></div>
-</body>
-</html>
diff --git a/misc/openlayers/tests/Protocol/HTTP.html b/misc/openlayers/tests/Protocol/HTTP.html
deleted file mode 100644
index fac460b..0000000
--- a/misc/openlayers/tests/Protocol/HTTP.html
+++ /dev/null
@@ -1,842 +0,0 @@
-<html>
-<head>
- <script src="../OLLoader.js"></script>
- <script type="text/javascript">
-
- function test_constructor(t) {
- t.plan(8);
- var a = new OpenLayers.Protocol.HTTP({
- url: "foo"
- });
-
- // 4 tests
- t.eq(a.url, "foo", "constructor sets url");
- t.eq(a.options.url, a.url, "constructor copies url to options.url");
- t.eq(a.params, {}, "constructor sets params");
- t.eq(a.options.params, undefined, "constructor do not copy params to options.params");
-
- var params = {hello: "world"};
- var b = new OpenLayers.Protocol.HTTP({
- url: "bar",
- params: params
- });
-
- // 4 tests
- t.eq(b.url, "bar", "constructor sets url");
- t.eq(b.options.url, b.url, "constructor copies url to options.url");
- t.eq(b.params, params, "constructor sets params");
- t.eq(b.options.params, b.params, "constructor copies params to options.params");
- }
-
- function test_destroy(t) {
- t.plan(3);
- var protocol = new OpenLayers.Protocol.HTTP({
- url: "bar",
- params: {hello: "world"}
- });
- protocol.destroy();
- t.eq(protocol.options, null, "destroy nullifies options");
- t.eq(protocol.params, null, "destroy nullifies params");
- t.eq(protocol.headers, null, "destroy nullifies headers");
- }
-
- function test_read(t) {
- t.plan(10);
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'params': {'k': 'foo_param'}
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // options to pass to read
- var readOptions = {
- 'url': 'bar_url',
- 'params': {'k': 'bar_param'},
- 'headers': {'k': 'bar_header'},
- 'scope': {'hello': 'world'},
- 'callback': function() {}
- };
-
- var response;
-
- protocol.handleResponse = function(resp, opt) {
- // 4 tests
- var req = resp.priv;
- t.ok(this == protocol,
- 'handleResponse called with correct scope');
- t.ok(opt == readOptions,
- 'handleResponse called with correct options');
- t.eq(resp.CLASS_NAME, 'OpenLayers.Protocol.Response',
- 'handleResponse called with a Response object');
- t.eq(req, request,
- 'handleResponse called with correct request');
-
- response = resp;
- };
-
- var _get = OpenLayers.Request.GET;
-
- OpenLayers.Request.GET = function(options) {
- // 5 tests
- t.eq(options.url, readOptions.url,
- 'GET called with correct url in options');
- t.eq(options.params['k'], readOptions.params['k'],
- 'GET called with correct params in options');
- t.eq(options.headers['k'], readOptions.headers['k'],
- 'GET called with correct headers in options');
- t.eq(options.scope, undefined,
- 'GET called with correct scope in options');
- t.ok(typeof options.callback == 'function',
- 'GET called with a callback in options');
- t.delay_call(0.1, function() {
- options.callback(request);
- t.ok(resp == response,
- 'read returns the expected response object');
- // cleanup
- protocol.destroy();
- OpenLayers.Request.GET = _get;
- });
- return request;
- };
-
- var resp = protocol.read(readOptions);
-
- OpenLayers.Request.GET = _get;
- }
-
- function test_readWithPOST(t) {
- t.plan(10);
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'params': {'k': 'foo_param'}
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // options to pass to read
- var readOptions = {
- 'url': 'bar_url',
- 'params': {'k': 'bar_param'},
- 'scope': {'hello': 'world'},
- 'callback': function() {},
- 'readWithPOST': true
- };
-
- var response;
-
- protocol.handleResponse = function(resp, opt) {
- // 4 tests
- var req = resp.priv;
- t.ok(this == protocol,
- 'handleResponse called with correct scope');
- t.ok(opt == readOptions,
- 'handleResponse called with correct options');
- t.eq(resp.CLASS_NAME, 'OpenLayers.Protocol.Response',
- 'handleResponse called with a Response object');
- t.eq(req, request,
- 'handleResponse called with correct request');
-
- response = resp;
- };
-
- var _post = OpenLayers.Request.POST;
-
- OpenLayers.Request.POST = function(options) {
- // 5 tests
- t.eq(options.url, readOptions.url,
- 'GET with POST called with correct url in options');
- t.eq(options.data, OpenLayers.Util.getParameterString(readOptions.params),
- 'GET with POST called with correct params encoded in options');
- t.eq(options.headers, {"Content-Type": "application/x-www-form-urlencoded"},
- 'GET with POST called with correct headers (application/x-www-form-urlencoded)');
- t.eq(options.scope, undefined,
- 'GET with POST called with correct scope in options');
- t.ok(typeof options.callback == 'function',
- 'GET with POST called with a callback in options');
- t.delay_call(0.1, function() {
- options.callback(request);
- t.ok(resp == response,
- 'read returns the expected response object');
- // cleanup
- protocol.destroy();
- OpenLayers.Request.POST = _post;
- });
- return request;
- };
-
- var resp = protocol.read(readOptions);
-
- OpenLayers.Request.POST = _post;
- }
-
- function test_read_method(t) {
- t.plan(4);
-
- var _post = OpenLayers.Request.POST;
- OpenLayers.Request.POST = function(options) { return 'post'; }
- var _get = OpenLayers.Request.GET;
- OpenLayers.Request.GET = function(options) { return 'get'; }
-
- var protocol = new OpenLayers.Protocol.HTTP({});
-
- t.eq(protocol.read({}).priv, 'get',
- 'readWithPOST is false by default');
- t.eq(protocol.read({readWithPOST: true}).priv, 'post',
- 'readWithPOST can be set in read options');
-
- var protocol = new OpenLayers.Protocol.HTTP({readWithPOST: true});
-
- t.eq(protocol.read({}).priv, 'post',
- 'readWithPOST can be set in constructor');
- t.eq(protocol.read({readWithPOST: false}).priv, 'get',
- 'readWithPOST can be overridden in read options');
-
- OpenLayers.Request.POST = _post;
- OpenLayers.Request.GET = _get;
- }
-
- function test_read_bbox(t) {
- t.plan(6);
-
- var _get = OpenLayers.Request.GET;
-
- var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
- var filter = new OpenLayers.Filter.Spatial({
- type: OpenLayers.Filter.Spatial.BBOX,
- value: bounds,
- projection: new OpenLayers.Projection("foo")
- });
-
- // log requests
- var log, exp;
- OpenLayers.Request.GET = function(options) {
- log.push(options.params.bbox);
- return {status: 200};
- };
-
- // 1) issue request with default protocol
- log = [];
- new OpenLayers.Protocol.HTTP().read({filter: filter});
-
- t.eq(log.length, 1, "1) GET called once");
- t.ok(log[0] instanceof Array, "1) bbox param is array");
- exp = bounds.toArray();
- t.eq(log[0], exp, "1) bbox param doesn't include SRS id by default");
-
- // 2) issue request with default protocol
- log = [];
- new OpenLayers.Protocol.HTTP({srsInBBOX: true}).read({filter: filter});
-
- t.eq(log.length, 1, "2) GET called once");
- t.ok(log[0] instanceof Array, "2) bbox param is array");
- exp = bounds.toArray();
- exp.push("foo");
- t.eq(log[0], exp, "2) bbox param includes SRS id if srsInBBOX is true");
-
- OpenLayers.Request.GET = _get;
- }
-
- function test_parseFeatures(t) {
- t.plan(5);
-
- var protocol = new OpenLayers.Protocol.HTTP();
-
- // test responseXML - 2 tests
- var request = {
- 'responseXML': {
- 'documentElement': 'xml'
- }
- };
- protocol.format = {
- 'read': function(doc) {
- t.eq(doc.documentElement, 'xml',
- 'format.read called with correct doc');
- return doc.documentElement;
- }
- };
- var ret = protocol.parseFeatures(request);
- t.eq(ret, 'xml', 'parseFeatures returns expected value');
-
- // test responseText - 2 tests
- var request = {
- 'responseText': 'text'
- };
- protocol.format = {
- 'read': function(doc) {
- t.eq(doc, 'text',
- 'format.read called with correct doc');
- return doc;
- }
- };
- var ret = protocol.parseFeatures(request);
- t.eq(ret, 'text', 'parseFeatures returns expected value');
-
- // test empty responseText - 1 test
- var request = {
- 'responseText': ''
- };
- protocol.format = {
- 'read': function(doc) {
- t.fail('format.read should not be called');
- }
- };
- var ret = protocol.parseFeatures(request);
- t.eq(ret, null, 'parseFeatures returns expected value');
- }
-
- function test_create(t) {
- t.plan(10);
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'format': {'write': function() {}}
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // features to pass to create
- var features = ['feature'];
-
- // options to pass to create
- var createOptions = {
- 'url': 'bar_url',
- 'headers': {'k': 'bar_header'},
- 'scope': {'hello': 'world'},
- 'callback': function() {}
- };
-
- var response;
-
- protocol.handleCreate = function(resp, opt) {
- // 5 tests
- var req = resp.priv;
- t.ok(this == protocol,
- 'handleCreate called with correct scope');
- t.ok(opt == createOptions,
- 'handleCreate called with correct options');
- t.eq(resp.CLASS_NAME, 'OpenLayers.Protocol.Response',
- 'handleCreate called with a Response object');
- t.ok(resp.reqFeatures == features,
- 'handleCreate called with correct requested features in response');
- t.eq(req, request,
- 'handleCreate called with correct request');
-
- response = resp;
- };
-
- var _post = OpenLayers.Request.POST;
-
- OpenLayers.Request.POST = function(options) {
- // 4 tests
- t.eq(options.url, createOptions.url,
- 'POST called with correct url in options');
- t.eq(options.headers['k'], createOptions.headers['k'],
- 'POST called with correct headers in options');
- t.eq(options.scope, undefined,
- 'POST called with correct scope in options');
- t.ok(typeof options.callback == 'function',
- 'POST called with a callback in options');
- // call callback - delayed because this function has to return first
- t.delay_call(0.1, function() {
- options.callback(request);
- t.ok(resp == response,
- 'create returns the expected response object');
- // cleanup
- protocol.destroy();
- OpenLayers.Request.POST = _post;
- });
- return request;
- };
-
- var resp = protocol.create(features, createOptions);
-
- OpenLayers.Request.POST = _post;
- }
-
- function test_update(t) {
- t.plan(10);
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'format': {'write': function() {}}
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // feature to pass to update
- var feature = {'feature':'feature'};
-
- // options to pass to update
- var updateOptions = {
- 'url': 'bar_url',
- 'headers': {'k': 'bar_header'},
- 'scope': {'hello': 'world'},
- 'callback': function() {}
- };
-
- var response;
-
- protocol.handleUpdate = function(resp, opt) {
- var req = resp.priv;
- // 5 tests
- t.ok(this == protocol,
- 'handleUpdate called with correct scope');
- t.ok(opt == updateOptions,
- 'handleUpdate called with correct options');
- t.eq(resp.CLASS_NAME, 'OpenLayers.Protocol.Response',
- 'handleUpdate called with a Response object');
- t.ok(resp.reqFeatures == feature,
- 'handleUpdate called with correct requested feature in response');
- t.eq(req, request,
- 'handleUpdate called with correct request');
-
- response = resp;
- };
-
- var _put = OpenLayers.Request.PUT;
-
- OpenLayers.Request.PUT = function(options) {
- // 4 tests
- t.eq(options.url, updateOptions.url,
- 'PUT called with correct url in options');
- t.eq(options.headers['k'], updateOptions.headers['k'],
- 'PUT called with correct headers in options');
- t.eq(options.scope, undefined,
- 'PUT called with correct scope in options');
- t.ok(typeof options.callback == 'function',
- 'PUT called with a callback in options');
- // call callback - delayed because this function has to return first
- t.delay_call(0.1, function() {
- options.callback(request);
- t.ok(resp == response,
- 'update returns the expected response object');
- // cleanup
- protocol.destroy();
- OpenLayers.Request.PUT = _put;
- });
- return request;
- };
-
- var resp = protocol.update(feature, updateOptions);
-
- OpenLayers.Request.PUT = _put;
- }
-
- function test_update_featureurl(t) {
-
- // test that OpenLayers.Request.PUT receives the URL
- // set in the feature
- // http://trac.openlayers.org/ticket/2393#comment:11
-
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'format': {'write': function() {}}
- });
-
- // feature to pass to update
- var feature = {'feature':'feature', 'url': 'bar_url'};
-
- var _put = OpenLayers.Request.PUT;
-
- OpenLayers.Request.PUT = function(options) {
- t.eq(options.url, feature.url,
- 'PUT called with correct url in options');
- };
-
- protocol.update(feature);
-
- OpenLayers.Request.PUT = _put;
- }
-
- function test_handleResponse(t) {
- t.plan(6);
-
- var protocol = new OpenLayers.Protocol.HTTP();
-
- var options, response, request, features;
-
- // test options - 2 tests
- var scope = {'fake': 'scope'};
- options = {
- 'scope': scope,
- 'callback': function(resp) {
- t.ok(this == scope,
- '[no status] callback called with correct scope');
- t.ok(resp == response,
- '[no status] callback called with correct response');
- }
- };
- response = {priv: {}};
- protocol.handleResponse(response, options);
-
- // test failure condition - 1 test
- options = {
- 'callback': function(resp) {
- t.eq(resp.code, OpenLayers.Protocol.Response.FAILURE,
- '[status 400] callback called with correct response code');
- }
- };
- response = {priv: {status: 400}};
- protocol.handleResponse(response, options);
-
- // test success condition - 3 tests
- features = {'fake': 'features'};
- options = {
- 'callback': function(resp) {
- t.eq(resp.code, OpenLayers.Protocol.Response.SUCCESS,
- '[status 200] callback called with correct response code');
- t.eq(resp.features, features,
- '[status 200] callback called with correct features in response');
- }
- };
- response = {priv: {status: 200}};
- protocol.parseFeatures = function(request) {
- t.ok(request == response.priv,
- '[status 200] parseFeatures called with correct request');
- return features;
- }
- protocol.handleResponse(response, options);
-
- // cleanup
- protocol.destroy();
- }
-
- function test_delete(t) {
- t.plan(10);
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url'
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // feature to pass to delete
- var feature = {'url': 'bar_url'};
-
- // options to pass to delete
- var deleteOptions = {
- 'url': 'bar_url',
- 'headers': {'k': 'bar_header'},
- 'scope': {'hello': 'world'},
- 'callback': function() {}
- };
-
- var response;
-
- protocol.handleDelete = function(resp, opt) {
- // 5 tests
- var req = resp.priv;
- t.ok(this == protocol,
- 'handleDelete called with correct scope');
- t.ok(opt == deleteOptions,
- 'handleDelete called with correct options');
- t.eq(resp.CLASS_NAME, 'OpenLayers.Protocol.Response',
- 'handleDelete called with a Response object');
- t.ok(resp.reqFeatures == feature,
- 'handleDelete called with correct requested feature in response');
- t.eq(req, request,
- 'handleDelete called with correct request');
-
- response = resp;
- };
-
- var _delete = OpenLayers.Request.DELETE;
-
- OpenLayers.Request.DELETE = function(options) {
- // 4 tests
- t.eq(options.url, deleteOptions.url,
- 'DELETE called with correct url in options');
- t.eq(options.headers['k'], deleteOptions.headers['k'],
- 'DELETE called with correct headers in options');
- t.eq(options.scope, undefined,
- 'DELETE called with correct scope in options');
- t.ok(typeof options.callback == 'function',
- 'DELETE called with a callback in options');
- // call callback - delayed because this function has to return first
- t.delay_call(0.1, function() {
- options.callback(request);
- t.ok(resp == response,
- 'read returns the expected response object');
- // cleanup
- protocol.destroy();
- OpenLayers.Request.DELETE = _delete;
- });
- return request;
- };
-
- var resp = protocol['delete'](feature, deleteOptions);
-
- OpenLayers.Request.DELETE = _delete;
- }
-
- function test_delete_featureurl(t) {
-
- // test that OpenLayers.Request.DELETE receives the URL
- // set in the feature
- // http://trac.openlayers.org/ticket/2393#comment:11
-
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.HTTP({
- 'url': 'foo_url',
- 'format': {'write': function() {}}
- });
-
- // feature to pass to update
- var feature = {'feature':'feature', 'url': 'bar_url'};
-
- var _delete = OpenLayers.Request.DELETE;
-
- OpenLayers.Request.DELETE = function(options) {
- t.eq(options.url, feature.url,
- 'DELETE called with correct url in options');
- };
-
- protocol['delete'](feature);
-
- OpenLayers.Request.DELETE = _delete;
- }
-
- function test_handleDelete(t) {
- t.plan(4);
-
- var protocol = new OpenLayers.Protocol.HTTP();
-
- var options, response, request, features;
-
- // test options - 2 tests
- var scope = {'fake': 'scope'};
- options = {
- 'scope': scope,
- 'callback': function(resp) {
- t.ok(this == scope,
- 'callback called with correct scope');
- t.ok(resp == response,
- 'callback called with correct response');
- }
- };
- response = {priv: {}};
- protocol.handleDelete(response, options);
-
- // test failure condition - 1 test
- options = {
- 'callback': function(resp) {
- t.eq(resp.code, OpenLayers.Protocol.Response.FAILURE,
- 'callback called with correct response code');
- }
- };
- response = {priv: {status: 400}};
- protocol.handleDelete(response, options);
-
- // test success condition - 1 test
- options = {
- 'callback': function(resp) {
- t.eq(resp.code, OpenLayers.Protocol.Response.SUCCESS,
- 'callback called with correct response code');
- }
- };
- response = {priv: {status: 200}};
- protocol.handleDelete(response, options);
-
- // cleanup
- protocol.destroy();
- }
-
- function test_commit(t) {
- t.plan(17);
-
- var protocol = new OpenLayers.Protocol.HTTP();
-
- // 6 features
- var features = [
- {'state': OpenLayers.State.INSERT},
- {'state': OpenLayers.State.INSERT},
- {'state': OpenLayers.State.UPDATE},
- {'state': OpenLayers.State.UPDATE},
- {'state': OpenLayers.State.DELETE},
- {'state': OpenLayers.State.DELETE}
- ];
-
- var options = {
- 'create': {
- 'callback': function(resp) {
- }
- },
- 'update': {
- 'callback': function(resp) {
- }
- },
- 'delete': {
- 'callback': function(resp) {
- }
- }
- };
-
- var respCreate = new OpenLayers.Protocol.Response();
- var respUpdate = new OpenLayers.Protocol.Response();
- var respDelete = new OpenLayers.Protocol.Response();
-
- // 2 tests
- protocol['create'] = function(feature, options) {
- t.ok(options.scope == protocol,
- 'create called with correct scope');
- t.ok(typeof options.callback == 'function',
- 'create called with a callback in options');
- options.callback.call(options.scope, respCreate);
- return respCreate;
- };
- // 4 tests
- protocol['update'] = function(feature, options) {
- t.ok(options.scope == protocol,
- 'update called with correct scope');
- t.ok(typeof options.callback == 'function',
- 'update called with a callback in options');
- options.callback.call(options.scope, respUpdate);
- return respUpdate;
- };
- // 4 tests
- protocol['delete'] = function(feature, options) {
- t.ok(options.scope == protocol,
- 'delete called with correct scope');
- t.ok(typeof options.callback == 'function',
- 'delete called with a callback in options');
- options.callback.call(options.scope, respDelete);
- return respDelete;
- };
-
- var count = 0;
-
- // 5 tests
- protocol.callUserCallback = function(resp, opt) {
- t.ok(opt == options,
- 'callUserCallback called with correction options map');
- count++;
- };
-
- var resp = protocol.commit(features, options);
-
- // 2 tests
- t.eq(count, 5, 'callUserCallback called for each request');
- t.eq(resp.length, 5, 'commit returns array with correct length');
-
- // cleanup
- protocol.destroy();
- }
-
- function test_callUserCallback(t) {
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.HTTP();
-
- var scope = {'fake': 'scope'};
-
- // test commit callback
- var log = {};
- var options = {
- foo: {
- callback: function() {
- log.scope = this;
- },
- scope: scope
- }
- };
- var resp = {requestType: 'foo'};
- protocol.callUserCallback(resp, options);
- t.ok(log.scope, scope, 'correct callback called with correct scope');
-
- }
-
- function test_options(t) {
- t.plan(6);
-
- var log1 = {};
-
- // test that read with no options uses protocol options - 5 tests
- var url = ".";
- var headers = {};
- var params = {};
- var scope = {};
- var protocol = new OpenLayers.Protocol.HTTP({
- format: new OpenLayers.Format({
- read: function() {},
- write: function() {}
- }),
- url: url,
- headers: headers,
- params: params,
- callback: function(resp) {
- log1.callbackCalled = true;
- log1.callbackScope = this;
- log1.request = resp && resp.priv;
- log1.requestType = resp && resp.requestType;
- },
- scope: scope
- });
- protocol.read();
-
- t.delay_call(2, function() {
- t.eq(log1.callbackCalled, true, "[read] callback called");
- t.eq(log1.callbackScope, scope, "[read] correct scope");
- t.ok(log1.request instanceof OpenLayers.Request.XMLHttpRequest, "[read] correct priv type");
- t.eq(log1.requestType, "read", "[read] correct request type");
- });
-
-
- // test that commit with no options uses protocol options - 2 tests
- var log2 = {called: 0};
- protocol.options.callback = function() {
- log2.called++;
- log2.scope = this;
- };
- protocol.commit([
- {state: OpenLayers.State.INSERT},
- {state: OpenLayers.State.INSERT},
- {state: OpenLayers.State.UPDATE, url: "./1"},
- {state: OpenLayers.State.UPDATE, url: "./2"},
- {state: OpenLayers.State.DELETE, url: "./3"},
- {state: OpenLayers.State.DELETE, url: "./4"}
- ]);
- t.delay_call(2, function() {
- t.eq(log2.called, 1, "[commit] Callback called once.");
- t.eq(log2.scope, scope, "[commit] Correct scope.");
- });
- }
-
- function test_read_global_options(t) {
-
- // test that calling read doesn't write params into the protocol's
- // options object, see ticket #3237
-
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.HTTP({
- url: '.',
- callback: function() {},
- params: {'a': 'a'}
- });
-
- // check initial state first
- t.eq(protocol.options.params, {'a': 'a'},
- 'protocol params are ok at initial state');
-
- var filter = new OpenLayers.Filter.Comparison({
- type: OpenLayers.Filter.Comparison.EQUAL_TO,
- property: 'b',
- value: 'b'
- });
- protocol.read({filter: filter});
- t.eq(protocol.options.params, {'a': 'a'},
- "protocol params are ok after read");
- }
-
-
- </script>
-</head>
-<body>
-</body>
-</html>
diff --git a/misc/openlayers/tests/Protocol/SOS.html b/misc/openlayers/tests/Protocol/SOS.html
deleted file mode 100644
index 58e6607..0000000
--- a/misc/openlayers/tests/Protocol/SOS.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html>
-<head>
- <script src="../OLLoader.js"></script>
- <script type="text/javascript">
-
- function test_constructor(t) {
- t.plan(4);
- var a = new OpenLayers.Protocol.SOS({
- url: "foo",
- fois: ["a", "b", "c"]
- });
-
- t.eq(a.url, "foo", "constructor sets url");
- t.eq(a.options.url, a.url, "constructor copies url to options.url");
- t.eq(a.fois[0], "a", "constructor sets the fois correctly");
- t.eq((a.format instanceof OpenLayers.Format.SOSGetFeatureOfInterest), true, "Constructor sets format correctly");
- }
-
- function test_read(t) {
- t.plan(4);
-
- var protocol = new OpenLayers.Protocol.SOS({
- url: "http://some.url.org/sos?",
- fois: ["foi1", "foi2"],
- parseFeatures: function(request) {
- t.eq(request.responseText, "foo", "parseFeatures called properly");
- return "foo";
- }
- });
-
- var _POST = OpenLayers.Request.POST;
-
- var expected, status;
- OpenLayers.Request.POST = function(obj) {
- t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "GetFeatureOfInterest request is correct");
- obj.status = status;
- obj.responseText = "foo";
- obj.options = {};
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- var xml = '<GetFeatureOfInterest xmlns="http://www.opengis.net/sos/1.0" version="1.0.0" service="SOS" xsi:schemaLocation="http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><FeatureOfInterestId>foi1</FeatureOfInterestId><FeatureOfInterestId>foi2</FeatureOfInterestId></GetFeatureOfInterest>';
- expected = new OpenLayers.Format.XML().read(xml).documentElement;
- status = 200;
- var response = protocol.read({callback: function(response) {
- t.eq(response.features, "foo", "user callback properly called with features");
- t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS, "success reported properly");
- }});
-
- }
-
- </script>
-</head>
-<body>
-</body>
-</html>
diff --git a/misc/openlayers/tests/Protocol/Script.html b/misc/openlayers/tests/Protocol/Script.html
deleted file mode 100644
index 894427a..0000000
--- a/misc/openlayers/tests/Protocol/Script.html
+++ /dev/null
@@ -1,282 +0,0 @@
-<html>
-<head>
- <script src="../../lib/OpenLayers.js"></script>
- <script type="text/javascript">
-
- function test_constructor(t) {
- t.plan(11);
- var a = new OpenLayers.Protocol.Script({
- url: "foo"
- });
-
- // 7 tests
- t.eq(a.url, "foo", "constructor sets url");
- t.eq(a.options.url, a.url, "constructor copies url to options.url");
- t.eq(a.params, {}, "constructor sets params");
- t.eq(a.options.params, undefined, "constructor does not copy params to options.params");
- t.ok(a.format instanceof OpenLayers.Format.GeoJSON,
- "constructor sets a GeoJSON format by default");
- t.eq(a.callbackKey, 'callback',
- "callbackKey is set to 'callback' by default");
- t.eq(a.callbackPrefix, '',
- "callbackPrefix is set to '' by default");
-
- var params = {hello: "world"};
- var b = new OpenLayers.Protocol.Script({
- url: "bar",
- params: params,
- callbackKey: 'cb_key',
- callbackPrefix: 'cb_prefix'
- });
-
- // 6 tests
- t.eq(b.params, params, "constructor sets params");
- t.eq(b.options.params, b.params, "constructor copies params to options.params");
- t.eq(b.callbackKey, 'cb_key',
- "callbackKey is set to 'cb_key'");
- t.eq(b.callbackPrefix, 'cb_prefix',
- "callbackPrefix is set to 'cb_prefix'");
- }
-
- function test_destroy(t) {
- t.plan(3);
- var aborted = false;
- var protocol = new OpenLayers.Protocol.Script({
- url: "bar",
- params: {hello: "world"},
- abort: function() {
- aborted = true;
- }
- });
- protocol.destroy();
- t.ok(aborted, "destroy aborts request");
- t.eq(protocol.params, null, "destroy nullifies params");
- t.eq(protocol.format, null, "destroy nullifies format");
- }
-
- function test_read(t) {
- t.plan(5);
- var protocol = new OpenLayers.Protocol.Script({
- 'url': 'foo_url',
- 'params': {'k': 'foo_param'}
- });
-
- // fake XHR request object
- var request = {'status': 200};
-
- // options to pass to read
- var readOptions = {
- 'url': 'bar_url',
- 'params': {'k': 'bar_param'}
- };
-
- var response;
-
- protocol.createRequest = function(url, params, callback) {
- // 4 tests
- t.ok(this == protocol,
- 'createRequest called with correct scope');
- t.ok(url == readOptions.url,
- 'createRequest called with correct url');
- t.ok(params == readOptions.params,
- 'createRequest called with correct params');
- t.ok(callback instanceof Function,
- 'createRequest called with a function as callback');
-
- return 'foo_request';
- };
-
- var resp = protocol.read(readOptions);
-
- t.eq(resp.priv, 'foo_request',
- 'response priv property set to what the createRequest method returns');
- }
-
- function test_read_bbox(t) {
- t.plan(6);
-
- var _createRequest = OpenLayers.Protocol.Script.prototype.createRequest;
-
- var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
- var filter = new OpenLayers.Filter.Spatial({
- type: OpenLayers.Filter.Spatial.BBOX,
- value: bounds,
- projection: new OpenLayers.Projection("foo")
- });
-
- // log requests
- var log, exp;
- OpenLayers.Protocol.Script.prototype.createRequest = function(url, params,
- callback) {
- log.push(params.bbox);
- return null;
- };
-
- // 1) issue request with default protocol
- log = [];
- new OpenLayers.Protocol.Script().read({filter: filter});
-
- t.eq(log.length, 1, "1) createRequest called once");
- t.ok(log[0] instanceof Array, "1) bbox param is array");
- exp = bounds.toArray();
- t.eq(log[0], exp, "1) bbox param doesn't include SRS id by default");
-
- // 2) issue request with default protocol
- log = [];
- new OpenLayers.Protocol.Script({srsInBBOX: true}).read({filter: filter});
-
- t.eq(log.length, 1, "2) createRequest called once");
- t.ok(log[0] instanceof Array, "2) bbox param is array");
- exp = bounds.toArray();
- exp.push("foo");
- t.eq(log[0], exp, "2) bbox param includes SRS id if srsInBBOX is true");
-
- OpenLayers.Protocol.Script.prototype.createRequest = _createRequest;
- }
-
- function test_createRequest(t) {
- t.plan(6);
- var protocol = new OpenLayers.Protocol.Script({
- callbackKey: 'cb_key',
- callbackPrefix: 'cb_prefix:'
- });
-
- var _register = OpenLayers.Protocol.Script.register;
- OpenLayers.Protocol.Script.register = function() {
- return 'bar';
- };
-
- var script = protocol.createRequest('http://bar_url/', {'k': 'bar_param'}, 'bar_callback');
-
- t.eq(script.type, 'text/javascript',
- 'created script has a correct type');
-
- var params = OpenLayers.Util.getParameters(script.src);
- t.eq(params.k, "bar_param", "custom query string param");
- t.eq(params.cb_key, "cb_prefix:OpenLayers.Protocol.Script.registry.bar", "callback with prefix");
-
- t.eq(script.id, 'OpenLayers_Protocol_Script_bar',
- 'created script has a correct id');
-
- protocol.callbackTemplate = "customCallback(${id})";
- script = protocol.createRequest('http://bar_url/', {'k': 'bar_param2'}, 'bar_callback');
-
- params = OpenLayers.Util.getParameters(script.src);
- t.eq(params.k, "bar_param2", "custom query string param");
- t.eq(params.cb_key, "cb_prefix:customCallback(bar)", "custom callback with prefix");
-
- OpenLayers.Protocol.Script.register = _register;
-
- }
-
- function test_destroyRequest(t) {
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.Script({});
-
- var _unregister = OpenLayers.Protocol.Script.unregister;
- OpenLayers.Protocol.Script.unregister = function(id) {
- t.eq(id, 'foo', "destroyRequest calls unregister with correct id");
- };
- var script = {
- id: 'script_foo'
- };
- protocol.destroyRequest(script);
- t.eq(protocol.pendingRequests[script.id], null,
- "destroyRequest nullifies the pending request");
-
- OpenLayers.Protocol.Script.unregister = _unregister;
- }
-
- function test_handleResponse(t) {
- t.plan(8);
-
- var protocol = new OpenLayers.Protocol.Script();
-
- // 2 tests (should be called only twive)
- protocol.destroyRequest = function(priv) {
- t.eq(priv, 'foo_priv', 'destroyRequest called with correct argument');
- }
-
- // 1 test (should be called only once)
- protocol.parseFeatures = function(data) {
- t.eq(data, 'foo_data', 'parseFeatures called with correct argument');
- return 'foo_features';
- }
-
- var response = {
- priv: 'foo_priv',
- data: 'foo_data'
- }
- var options = {
- // 2 tests (should be called twice)
- scope: 'foo_scope',
- callback: function(resp) {
- t.eq(this, 'foo_scope', 'callback called with correct scope');
- }
- }
- protocol.handleResponse(response, options);
- // 2 tests
- t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS,
- 'response code correctly set');
- t.eq(response.features, 'foo_features',
- 'response features takes a correct value');
-
- response = {
- priv: 'foo_priv'
- }
- protocol.handleResponse(response, options);
- // 1 test
- t.eq(response.code, OpenLayers.Protocol.Response.FAILURE,
- 'response code correctly set');
- }
-
- function test_parseFeatures(t) {
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.Script();
-
- protocol.format = {
- 'read': function(data) {
- t.ok(true, 'format.read called');
- }
- };
-
- var ret = protocol.parseFeatures({foo: 'bar'});
- }
-
- function test_abort(t) {
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.Script();
-
- // 1 test
- protocol.destroyRequest = function(priv) {
- t.eq(priv, 'foo_priv', 'destroyRequest called with correct argument');
- }
-
- var response = {
- priv: 'foo_priv'
- }
-
- protocol.abort(response);
-
- var calls = [];
- protocol.pendingRequests = {
- 'foo': 'foo_request',
- 'bar': 'bar_request'
- }
- protocol.destroyRequest = function(priv) {
- calls.push(priv);
- }
- protocol.abort();
- // 1 test
- t.eq(calls, ['foo_request', 'bar_request'],
- 'destroyRequest called for each pending requests');
- }
-
- </script>
-</head>
-<body>
-</body>
-</html>
diff --git a/misc/openlayers/tests/Protocol/WFS.html b/misc/openlayers/tests/Protocol/WFS.html
deleted file mode 100644
index 24e775d..0000000
--- a/misc/openlayers/tests/Protocol/WFS.html
+++ /dev/null
@@ -1,471 +0,0 @@
-<html>
-<head>
- <script src="../OLLoader.js"></script>
- <script type="text/javascript">
-
- function test_initialize(t) {
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type"
- });
- t.ok(protocol instanceof OpenLayers.Protocol.WFS.v1_0_0,
- "initialize returns instance of default versioned protocol")
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- version: "1.1.0"
- });
- t.ok(protocol instanceof OpenLayers.Protocol.WFS.v1_1_0,
- "initialize returns instance of custom versioned protocol")
- }
-
- function test_setGeometryName(t) {
- t.plan(4);
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- geometryName: "geom"
- });
- t.eq(protocol.geometryName, "geom", "geometryName set correctly by constructor");
- t.eq(protocol.format.geometryName, "geom", "geometryName correctly set on format by constructor");
- // change the geometryName on the fly
- protocol.setGeometryName("SHAPE");
- t.eq(protocol.geometryName, "SHAPE", "geometryName changed correctly by setGeometryName");
- t.eq(protocol.format.geometryName, "SHAPE", "geometryName correctly changed on format by setGeometryName");
- protocol.destroy();
- }
-
- function test_setFeatureType(t) {
- t.plan(4);
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type"
- });
- t.eq(protocol.featureType, "type", "featureType set correctly by constructor");
- t.eq(protocol.format.featureType, "type", "featureType correctly set on format by constructor");
- // change the feature type on the fly
- protocol.setFeatureType("foo");
- t.eq(protocol.featureType, "foo", "featureType changed correctly by setFeatureType");
- t.eq(protocol.format.featureType, "foo", "featureType correctly changed on format by setFeatureType");
- protocol.destroy();
- }
-
- function test_read(t) {
- t.plan(7);
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- parseResponse: function(request, options) {
- t.eq(request.responseText, "foo", "parseResponse called properly");
- t.eq(options, {foo: "bar"}, "parseResponse receives readOptions");
- return "foo";
- }
- });
-
- var _POST = OpenLayers.Request.POST;
-
- var expected, status;
- OpenLayers.Request.POST = function(obj) {
- t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "GetFeature request is correct");
- obj.status = status;
- obj.responseText = "foo";
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- expected = readXML("GetFeature_1");
- status = 200;
- var response = protocol.read({readOptions: {foo: "bar"}, callback: function(response) {
- t.eq(response.features, "foo", "user callback properly called with features");
- t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS, "success reported properly");
- }});
-
- options = {
- maxFeatures: 10,
- featureType: 'type2',
- srsName: 'EPSG:900913',
- featureNS: 'htttp://alternative.namespace.org',
- callback: function(response) {
- t.eq(response.code, OpenLayers.Protocol.Response.FAILURE, "failure reported properly to user callback");
- }
- };
- expected = readXML("GetFeature_2");
- status = 400;
- var response = protocol.read(options);
-
- OpenLayers.Request.POST = _POST;
- }
-
- function test_parseResponse_poorconfig(t) {
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featurePrefix: "topp",
- featureType: "tasmania_roads",
- geometryName: null
- });
-
- protocol.parseResponse({responseText: document.getElementById("query_response").firstChild.nodeValue});
- t.eq(protocol.geometryName, "geom", "geometryName configured correctly");
- t.eq(protocol.featureNS, "http://www.openplans.org/topp", "featureNS configured correctly");
- }
-
- function test_exception(t) {
- t.plan(8);
- var url = "http://some.url.org";
- var protocol = new OpenLayers.Protocol.WFS({
- url: url,
- version: "1.1.0",
- featureNS: "http://namespace.org",
- featureType: "type"
- });
- // mock up a response
- var response = {
- priv: {
- status: 200,
- responseText: '<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport language="en" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"><ows:Exception locator="foo" exceptionCode="InvalidParameterValue"><ows:ExceptionText>Update error: Error occurred updating features</ows:ExceptionText><ows:ExceptionText>Second exception line</ows:ExceptionText></ows:Exception></ows:ExceptionReport>'
- }
- };
- var log, entry, expected;
-
- // test GetFeature
- log = [];
- protocol.handleRead(OpenLayers.Util.extend({}, response), {
- callback: function(resp) {
- log.push(resp);
- }
- });
- expected = {
- exceptionReport: {
- version: "1.0.0",
- language: "en",
- exceptions: [{
- code: "InvalidParameterValue",
- locator: "foo",
- texts: [
- "Update error: Error occurred updating features",
- "Second exception line"
- ]
- }]
- },
- success: false
- };
-
- t.eq(log.length, 1, "GetFeature handled");
- entry = log[0];
- t.eq(entry.code, OpenLayers.Protocol.Response.FAILURE, "GetFeature failure reported");
- t.ok(!!entry.error, "GetFeature got error");
- t.eq(entry.error, expected, "GetFeature error matches expected");
-
- // test a commit
- log = [];
- protocol.handleCommit(response, {
- callback: function(resp) {
- log.push(resp);
- }
- });
- t.eq(log.length, 1, "commit handled");
- entry = log[0];
- t.eq(entry.code, OpenLayers.Protocol.Response.FAILURE, "commit failure reported");
- t.ok(!!entry.error, "commit got error");
- t.eq(entry.error, expected, "GetFeature error matches expected");
-
- }
-
- function test_commit(t){
- t.plan(5);
-
- var url = "http://some.url.org";
- var protocol = new OpenLayers.Protocol.WFS({
- url: url,
- featureNS: "http://namespace.org",
- featureType: "type"
- });
- protocol.format.read = function(data) {
- t.eq(data, "foo", "callback called with correct argument");
- return {
- insertIds: new Array(3),
- success: true
- }
- };
-
- var _POST = OpenLayers.Request.POST;
-
- var expected;
- OpenLayers.Request.POST = function(obj) {
- t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "Transaction XML with Insert, Update and Delete created correctly");
- t.eq(obj.headers, {foo: 'bar'}, "HTTP headers passed from commit to Request.POST");
- obj.responseText = "foo";
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- var featureDelete = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(42, 7), {has : "cheeseburger"});
- featureDelete.fid = "fid.37";
- featureDelete.state = OpenLayers.State.DELETE;
- featureDelete.layer = {
- projection: {
- getCode : function(){
- return "EPSG:4326";
- }
- }
- }
- var featureInsert = featureDelete.clone();
- featureInsert.state = OpenLayers.State.INSERT;
- var featureModify = featureDelete.clone();
- featureModify.fid = "fid.37";
- featureModify.state = OpenLayers.State.UPDATE;
-
- options = {
- featureNS: "http://some.namespace.org",
- featureType: "type",
- headers: {foo: 'bar'},
- callback: function(response) {
- t.eq(response.insertIds.length, 3, "correct response passed to user callback");
- t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS, "success properly reported to user callback");
- }
- }
-
- expected = readXML("commit");
- var response = protocol.commit([featureInsert, featureModify, featureDelete], options);
-
- OpenLayers.Request.POST = _POST;
-
- }
-
- function test_filterDelete(t) {
- t.plan(2)
-
- var url = "http://some.url.org";
- var protocol = new OpenLayers.Protocol.WFS({
- url: url,
- featureNS: "http://namespace.org",
- featureType: "type"
- });
-
- var filter = new OpenLayers.Filter.Spatial({
- type: OpenLayers.Filter.Spatial.BBOX,
- value: new OpenLayers.Bounds(-5, -5, 5, 5)
- });
-
- var _POST = OpenLayers.Request.POST;
-
- var expected = readXML("filter_delete");
- OpenLayers.Request.POST = function(obj) {
- t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "request data correct");
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- var response = protocol.filterDelete(filter, {
- callback: function() {
- t.ok("user callback function called");
- }
- });
-
- OpenLayers.Request.POST = _POST;
- }
-
- function test_abort(t) {
- t.plan(1);
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://example.com",
- featureNS: "http://example.com#namespace",
- featureType: "type"
- });
-
- var response = {
- priv: {
- abort: function() {
- aborted = true;
- }
- }
- };
-
- // call abort with mocked response
- var aborted = false;
- protocol.abort(response);
- t.eq(aborted, true, "abort called on response.priv");
-
- }
-
- function test_fromWMSLayer(t) {
- t.plan(9);
- var map = new OpenLayers.Map("map", {
- projection: "CRS:84"
- });
- var layer = new OpenLayers.Layer.WMS("foo", "htttp://foo/ows",
- {layers: "topp:states"}
- );
- map.addLayer(layer);
- var protocol = OpenLayers.Protocol.WFS.fromWMSLayer(layer);
- t.eq(protocol.url, "htttp://foo/ows", "url taken from wms layer");
- t.eq(protocol.featurePrefix, "topp", "feature prefix correctly extracted");
- t.eq(protocol.featureType, "states", "typeName correctly extracted");
- t.eq(protocol.srsName, "CRS:84", "srsName set correctly");
- t.eq(protocol.version, "1.1.0", "version set correctly");
- t.eq(protocol.format.geometryName, null, "format's geometryName set to null");
-
- layer.params["LAYERS"] = ["topp:street_centerline", "topp:states"];
- layer.projection = new OpenLayers.Projection("EPSG:900913");
- protocol = OpenLayers.Protocol.WFS.fromWMSLayer(layer);
- t.eq(protocol.featurePrefix, "topp", "featurePrefix from layer param array");
- t.eq(protocol.featureType, "street_centerline", "first layer from layer param array as featureType");
- t.eq(protocol.srsName, "EPSG:900913", "projection from layer preferred");
- }
-
- function test_readFormat(t) {
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- formatOptions: {outputFormat: 'json'},
- readFormat: new OpenLayers.Format.GeoJSON()
- });
-
- var request = {};
- request.responseText = '{"type":"FeatureCollection","features":[{"type":"Feature","id":"V_HECTOPUNTEN.108411","geometry":{"type":"MultiPoint","coordinates":[[190659.467,349576.19]]},"geometry_name":"ORA_GEOMETRY","properties":{"WEGNUMMER":"002","HECTOMTRNG_ORG":2200,"HECTOMTRNG":"220.00","bbox":[190659.467,349576.19,190659.467,349576.19]}}]}';
- var features = protocol.parseResponse(request);
- t.eq(features.length, 1, "the right format is used to read the request (GeoJSON)");
- }
-
- function test_outputFormat(t) {
- t.plan(2);
-
- var protocol = new OpenLayers.Protocol.WFS({
- version: "1.1.0",
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- outputFormat: 'json'
- });
-
- t.ok(protocol.readFormat instanceof OpenLayers.Format.GeoJSON, "the correct readFormat is used for outputFormat JSON");
-
- protocol = new OpenLayers.Protocol.WFS({
- version: "1.1.0",
- url: "http://some.url.org",
- featureNS: "http://namespace.org",
- featureType: "type",
- outputFormat: 'GML2'
- });
-
- t.ok(protocol.readFormat instanceof OpenLayers.Format.GML.v2, "the correct readFormat is used for outputFormat GML2");
- }
-
- function test_readOptions(t) {
- t.plan(1);
-
- var protocol = new OpenLayers.Protocol.WFS({
- url: "http://some.url.org",
- version: "1.1.0",
- featureNS: "http://namespace.org",
- featureType: "type",
- readOptions: {'output': 'object'},
- parseResponse: function(request, options) {
- t.eq(options.output, "object", "Options object correctly set to pass on to Format's read");
- }
- });
-
- var _POST = OpenLayers.Request.POST;
-
- OpenLayers.Request.POST = function(obj) {
- obj.status = 200;
- obj.responseText = "foo";
- t.delay_call(0.1, function() {obj.callback.call(this)});
- return obj;
- };
-
- protocol.read({
- callback: function() {}
- });
-
- OpenLayers.Request.POST = _POST;
- }
-
- function readXML(id) {
- var xml = document.getElementById(id).firstChild.nodeValue;
- return new OpenLayers.Format.XML().read(xml).documentElement;
- }
-
- </script>
-</head>
-<body>
-<div id="map" style="width:512px; height:256px"> </div>
-<div id="GetFeature_1"><!--
-<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <wfs:Query typeName="feature:type" xmlns:feature="http://namespace.org"/>
-</wfs:GetFeature>
---></div>
-<div id="GetFeature_2"><!--
-<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" maxFeatures="10" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <wfs:Query typeName="feature:type2" xmlns:feature="htttp://alternative.namespace.org"/>
-</wfs:GetFeature>
---></div>
-<div id="commit"><!--
-<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <wfs:Insert>
- <feature:type xmlns:feature="http://namespace.org">
- <feature:the_geom>
- <gml:Point xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
- <gml:coordinates decimal="." cs="," ts=" ">42,7</gml:coordinates>
- </gml:Point>
- </feature:the_geom>
- <feature:has>cheeseburger</feature:has>
- </feature:type>
- </wfs:Insert>
- <wfs:Update typeName="feature:type" xmlns:feature="http://namespace.org">
- <wfs:Property>
- <wfs:Name>the_geom</wfs:Name>
- <wfs:Value>
- <gml:Point xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
- <gml:coordinates decimal="." cs="," ts=" ">42,7</gml:coordinates>
- </gml:Point>
- </wfs:Value>
- </wfs:Property>
- <wfs:Property>
- <wfs:Name>has</wfs:Name>
- <wfs:Value>cheeseburger</wfs:Value>
- </wfs:Property>
- <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
- <ogc:FeatureId fid="fid.37"/>
- </ogc:Filter>
- </wfs:Update>
- <wfs:Delete typeName="feature:type" xmlns:feature="http://namespace.org">
- <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
- <ogc:FeatureId fid="fid.37"/>
- </ogc:Filter>
- </wfs:Delete>
-</wfs:Transaction>
---></div>
-<div id="filter_delete"><!--
-<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0">
- <wfs:Delete typeName="feature:type" xmlns:feature="http://namespace.org">
- <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
- <ogc:BBOX>
- <gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
- <gml:coordinates decimal="." cs="," ts=" ">-5,-5 5,5</gml:coordinates>
- </gml:Box>
- </ogc:BBOX>
- </ogc:Filter>
- </wfs:Delete>
-</wfs:Transaction>
---></div>
-<div id="query_response"><!--
-<?xml version="1.0" encoding="UTF-8"?>
-<wfs:FeatureCollection xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink"><gml:boundedBy><gml:Envelope srsDimension="2" srsName="urn:x-ogc:def:crs:EPSG:4326"><gml:lowerCorner>5450000.0 500000.0</gml:lowerCorner><gml:upperCorner>5450000.0 540000.0</gml:upperCorner></gml:Envelope></gml:boundedBy><gml:featureMembers><topp:tasmania_roads gml:id="tasmania_roads.1"><gml:boundedBy><gml:Envelope srsDimension="2" srsName="urn:x-ogc:def:crs:EPSG:4326"><gml:lowerCorner>5450000.0 500000.0</gml:lowerCorner><gml:upperCorner>5450000.0 540000.0</gml:upperCorner></gml:Envelope></gml:boundedBy><topp:geom><gml:MultiLineString srsDimension="2" srsName="urn:x-ogc:def:crs:EPSG:4326"><gml:lineStringMember><gml:LineString><gml:posList>5450000.0 500000.0 5450000.0 540000.0</gml:posList></gml:LineString></gml:lineStringMember></gml:MultiLineString></topp:geom><topp:TYPE>street</topp:TYPE></topp:tasmania_roads></gml:featureMembers></wfs:FeatureCollection>
---></div>
-</body>
-</html>