From dc0dc32d6bd6722a146997771452c3390cf7e072 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Fri, 8 Nov 2013 11:02:22 +0100 Subject: [PATCH 1/3] make some minor fixes to the parser test cases, such as using afterLoadXml everywhere and making sure done is used in all async tests --- test/spec/ol/parser/gpx.test.js | 3 ++- .../ol/parser/ogc/exceptionreport.test.js | 19 ++++++------------- .../parser/ogc/wmscapabilities_v1_0_0.test.js | 1 - .../parser/ogc/wmscapabilities_v1_1_1.test.js | 1 - .../ogc/wmscapabilities_v1_1_1_WMSC.test.js | 1 - .../parser/ogc/wmscapabilities_v1_3_0.test.js | 1 - .../ogc/wmtscapabilities_v1_0_0.test.js | 16 ++++++---------- 7 files changed, 14 insertions(+), 28 deletions(-) diff --git a/test/spec/ol/parser/gpx.test.js b/test/spec/ol/parser/gpx.test.js index 91bda4ed78..9692184e95 100644 --- a/test/spec/ol/parser/gpx.test.js +++ b/test/spec/ol/parser/gpx.test.js @@ -5,7 +5,7 @@ describe('ol.parser.gpx', function() { var parser = new ol.parser.GPX(); describe('Test GPX parser', function() { - it('Read works correctly', function() { + it('Read works correctly', function(done) { var url = 'spec/ol/parser/gpx/data.xml'; afterLoadXml(url, function(xml) { var obj = parser.read(xml); @@ -35,6 +35,7 @@ describe('ol.parser.gpx', function() { [-0.166259525, 51.3576354272]]); expect(attributes['name']).to.eql('Track'); expect(attributes['type']).to.eql('Track'); + done(); }); }); it('Write works correctly for points', function() { diff --git a/test/spec/ol/parser/ogc/exceptionreport.test.js b/test/spec/ol/parser/ogc/exceptionreport.test.js index b769521110..420b2539fc 100644 --- a/test/spec/ol/parser/ogc/exceptionreport.test.js +++ b/test/spec/ol/parser/ogc/exceptionreport.test.js @@ -9,10 +9,8 @@ describe('ol.parser.ogc.exceptionreport', function() { it('OCG WMS 1.3.0 exceptions', function(done) { var url = 'spec/ol/parser/ogc/xml/exceptionreport/wms1_3_0.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var result = parser.read(xhr.getResponseXml()); - var exceptions = result.exceptionReport.exceptions; + afterLoadXml(url, function(xml) { + var exceptions = parser.read(xml).exceptionReport.exceptions; expect(exceptions.length).to.be(4); var str = 'Plain text message about an error.'; expect(goog.string.trim(exceptions[0].text)).to.be(str); @@ -37,10 +35,8 @@ describe('ol.parser.ogc.exceptionreport', function() { it('test read exception OWSCommon 1.0.0', function(done) { var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_0_0.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var result = parser.read(xhr.getResponseXml()); - var report = result.exceptionReport; + afterLoadXml(url, function(xml) { + var report = parser.read(xml).exceptionReport; var exception = report.exceptions[0]; expect(report.version).to.eql('1.0.0'); @@ -57,10 +53,8 @@ describe('ol.parser.ogc.exceptionreport', function() { it('test read exception OWSCommon 1.1.0', function(done) { var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_1_0.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var result = parser.read(xhr.getResponseXml()); - var report = result.exceptionReport; + afterLoadXml(url, function(xml) { + var report = parser.read(xml).exceptionReport; var exception = report.exceptions[0]; expect(report.version).to.eql('1.1.0'); @@ -76,6 +70,5 @@ describe('ol.parser.ogc.exceptionreport', function() { }); }); -goog.require('goog.net.XhrIo'); goog.require('goog.string'); goog.require('ol.parser.ogc.ExceptionReport'); diff --git a/test/spec/ol/parser/ogc/wmscapabilities_v1_0_0.test.js b/test/spec/ol/parser/ogc/wmscapabilities_v1_0_0.test.js index eff5afe380..b722af7ab0 100644 --- a/test/spec/ol/parser/ogc/wmscapabilities_v1_0_0.test.js +++ b/test/spec/ol/parser/ogc/wmscapabilities_v1_0_0.test.js @@ -34,5 +34,4 @@ describe('ol.parser.ogc.wmscapabilities_v1_0_0', function() { }); -goog.require('goog.net.XhrIo'); goog.require('ol.parser.ogc.WMSCapabilities'); diff --git a/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1.test.js b/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1.test.js index a4c00991db..cbd00325f7 100644 --- a/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1.test.js +++ b/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1.test.js @@ -256,5 +256,4 @@ describe('ol.parser.ogc.wmscapabilities_v1_1_1', function() { }); -goog.require('goog.net.XhrIo'); goog.require('ol.parser.ogc.WMSCapabilities'); diff --git a/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1_WMSC.test.js b/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1_WMSC.test.js index ba2b3c50f4..031d86aa86 100644 --- a/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1_WMSC.test.js +++ b/test/spec/ol/parser/ogc/wmscapabilities_v1_1_1_WMSC.test.js @@ -57,5 +57,4 @@ describe('ol.parser.ogc.wmscapabilities_v1_1_1_wmsc', function() { }); -goog.require('goog.net.XhrIo'); goog.require('ol.parser.ogc.WMSCapabilities'); diff --git a/test/spec/ol/parser/ogc/wmscapabilities_v1_3_0.test.js b/test/spec/ol/parser/ogc/wmscapabilities_v1_3_0.test.js index b3e6050ffb..146590b1b8 100644 --- a/test/spec/ol/parser/ogc/wmscapabilities_v1_3_0.test.js +++ b/test/spec/ol/parser/ogc/wmscapabilities_v1_3_0.test.js @@ -138,5 +138,4 @@ describe('ol.parser.ogc.wmscapabilities_v1_3_0', function() { }); }); -goog.require('goog.net.XhrIo'); goog.require('ol.parser.ogc.WMSCapabilities'); diff --git a/test/spec/ol/parser/ogc/wmtscapabilities_v1_0_0.test.js b/test/spec/ol/parser/ogc/wmtscapabilities_v1_0_0.test.js index 92fb8cfe58..6583195eed 100644 --- a/test/spec/ol/parser/ogc/wmtscapabilities_v1_0_0.test.js +++ b/test/spec/ol/parser/ogc/wmtscapabilities_v1_0_0.test.js @@ -8,9 +8,8 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() { it('Test ows', function(done) { var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + 'ogcsample.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var obj = parser.read(xhr.getResponseXml()); + afterLoadXml(url, function(xml) { + var obj = parser.read(xml); var serviceIdentification = obj.serviceIdentification; var serviceProvider = obj.serviceProvider; var operationsMetadata = obj.operationsMetadata; @@ -57,9 +56,8 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() { it('Test layers', function(done) { var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + 'ogcsample.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var obj = parser.read(xhr.getResponseXml()); + afterLoadXml(url, function(xml) { + var obj = parser.read(xml); var contents = obj.contents; var layer = contents.layers[0]; var wgs84Bbox = layer.bounds; @@ -128,9 +126,8 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() { it('Test tileMatrixSets', function(done) { var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + 'ogcsample.xml'; - goog.net.XhrIo.send(url, function(e) { - var xhr = e.target; - var obj = parser.read(xhr.getResponseXml()); + afterLoadXml(url, function(xml) { + var obj = parser.read(xml); var tileMatrixSets = obj.contents.tileMatrixSets; var bigWorld = tileMatrixSets['BigWorld']; @@ -159,5 +156,4 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() { }); }); -goog.require('goog.net.XhrIo'); goog.require('ol.parser.ogc.WMTSCapabilities'); From cc4c0bda60ceb804d40c0b7e9e8f2b6e6c7085e2 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Fri, 8 Nov 2013 20:34:03 +0100 Subject: [PATCH 2/3] use plain XMLHttpRequest instead of goog.net.XhrIo --- test/test-extensions.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/test/test-extensions.js b/test/test-extensions.js index 4a05f88b25..529d36dc81 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -2,22 +2,23 @@ (function(global) { function afterLoad(type, path, next) { - goog.net.XhrIo.send(path, function(event) { - var xhr = event.target; + var xhr = new XMLHttpRequest(); + xhr.open('GET', path, true); + xhr.onload = function() { var data; - if (xhr.isSuccess()) { + if (xhr.status == 200) { if (type === 'xml') { - data = xhr.getResponseXml(); - } else if (type === 'json') { - data = xhr.getResponseJson(); + data = xhr.responseXML; } else { - data = xhr.getResponseText(); + data = xhr.responseText; } } else { - throw new Error(path + ' loading failed: ' + xhr.getStatus()); + throw new Error(path + ' loading failed: ' + xhr.status); } next(data); - }); + xhr = null; + }; + xhr.send(); } From ffc2277c6817ca46d736708818802f05ed261eb2 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Fri, 8 Nov 2013 20:59:58 +0100 Subject: [PATCH 3/3] make tests pass in the test runner as well by not checking for status code --- test/test-extensions.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/test/test-extensions.js b/test/test-extensions.js index 529d36dc81..1aad4c89cb 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -2,26 +2,23 @@ (function(global) { function afterLoad(type, path, next) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', path, true); - xhr.onload = function() { + var client = new XMLHttpRequest(); + client.open('GET', path, true); + client.onload = function() { var data; - if (xhr.status == 200) { - if (type === 'xml') { - data = xhr.responseXML; - } else { - data = xhr.responseText; - } + if (type === 'xml') { + data = client.responseXML; } else { - throw new Error(path + ' loading failed: ' + xhr.status); + data = client.responseText; + } + if (!data) { + throw new Error(path + ' loading failed: ' + client.status); } next(data); - xhr = null; }; - xhr.send(); + client.send(); } - /** * @param {string} path Relative path to file (e.g. 'spec/ol/foo.json'). * @param {function(Object)} next Function to call with response object on