Get rid of unnecessary waitsFor function

This was a relic from the Jasmine tests.  Mocha tests have a built-in timeout.  Async tests are registered with a function that takes a callback.
This commit is contained in:
Tim Schaub
2013-06-23 11:20:57 -06:00
parent 7a620de1bf
commit d6be28a7bb
3 changed files with 27 additions and 92 deletions

View File

@@ -6,19 +6,13 @@ describe('ol.parser.ogc.exceptionreport', function() {
var parser = new ol.parser.ogc.ExceptionReport(); var parser = new ol.parser.ogc.ExceptionReport();
describe('test read exception', function() { describe('test read exception', function() {
it('OCG WMS 1.3.0 exceptions', function(done) {
var result, exceptions;
it('OCG WMS 1.3.0 exceptions', function(done) {
var url = 'spec/ol/parser/ogc/xml/exceptionreport/wms1_3_0.xml'; var url = 'spec/ol/parser/ogc/xml/exceptionreport/wms1_3_0.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
result = parser.read(xhr.getResponseXml()); var result = parser.read(xhr.getResponseXml());
exceptions = result.exceptionReport.exceptions; var exceptions = result.exceptionReport.exceptions;
});
waitsFor(function() {
return (result !== undefined);
}, 'XHR timeout', 1000, function() {
expect(exceptions.length).to.be(4); expect(exceptions.length).to.be(4);
var str = 'Plain text message about an error.'; var str = 'Plain text message about an error.';
expect(goog.string.trim(exceptions[0].text)).to.be(str); expect(goog.string.trim(exceptions[0].text)).to.be(str);
@@ -40,20 +34,15 @@ describe('ol.parser.ogc.exceptionreport', function() {
done(); done();
}); });
}); });
it('test read exception OWSCommon 1.0.0', function(done) {
var result, report, exception;
it('test read exception OWSCommon 1.0.0', function(done) {
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_0_0.xml'; var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_0_0.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
result = parser.read(xhr.getResponseXml()); var result = parser.read(xhr.getResponseXml());
report = result.exceptionReport; var report = result.exceptionReport;
exception = report.exceptions[0]; var exception = report.exceptions[0];
});
waitsFor(function() {
return (result !== undefined);
}, 'XHR timeout', 1000, function() {
expect(report.version).to.eql('1.0.0'); expect(report.version).to.eql('1.0.0');
expect(report.language).to.eql('en'); expect(report.language).to.eql('en');
expect(exception.code).to.eql('InvalidParameterValue'); expect(exception.code).to.eql('InvalidParameterValue');
@@ -65,20 +54,15 @@ describe('ol.parser.ogc.exceptionreport', function() {
done(); done();
}); });
}); });
it('test read exception OWSCommon 1.1.0', function(done) {
var result, report, exception;
it('test read exception OWSCommon 1.1.0', function(done) {
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_1_0.xml'; var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_1_0.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
result = parser.read(xhr.getResponseXml()); var result = parser.read(xhr.getResponseXml());
report = result.exceptionReport; var report = result.exceptionReport;
exception = report.exceptions[0]; var exception = report.exceptions[0];
});
waitsFor(function() {
return (result !== undefined);
}, 'XHR timeout', 1000, function() {
expect(report.version).to.eql('1.1.0'); expect(report.version).to.eql('1.1.0');
expect(report.language).to.eql('en'); expect(report.language).to.eql('en');
expect(exception.code).to.eql('InvalidParameterValue'); expect(exception.code).to.eql('InvalidParameterValue');

View File

@@ -6,23 +6,16 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() {
describe('test ows', function() { describe('test ows', function() {
it('Test ows', function(done) { it('Test ows', function(done) {
var obj, serviceIdentification, serviceProvider, operationsMetadata,
contactInfo;
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
'ogcsample.xml'; 'ogcsample.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
obj = parser.read(xhr.getResponseXml()); var obj = parser.read(xhr.getResponseXml());
serviceIdentification = obj.serviceIdentification; var serviceIdentification = obj.serviceIdentification;
serviceProvider = obj.serviceProvider; var serviceProvider = obj.serviceProvider;
operationsMetadata = obj.operationsMetadata; var operationsMetadata = obj.operationsMetadata;
contactInfo = serviceProvider.serviceContact.contactInfo; var contactInfo = serviceProvider.serviceContact.contactInfo;
});
waitsFor(function() {
return (obj !== undefined);
}, 'XHR timeout', 1000, function() {
expect(serviceIdentification.title).to.eql('Web Map Tile Service'); expect(serviceIdentification.title).to.eql('Web Map Tile Service');
expect(serviceIdentification.serviceTypeVersion).to.eql('1.0.0'); expect(serviceIdentification.serviceTypeVersion).to.eql('1.0.0');
expect(serviceIdentification.serviceType.value).to.eql('OGC WMTS'); expect(serviceIdentification.serviceType.value).to.eql('OGC WMTS');
@@ -62,22 +55,16 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() {
}); });
describe('test layers', function() { describe('test layers', function() {
it('Test layers', function(done) { it('Test layers', function(done) {
var obj, contents, layer, wgs84Bbox, dimensions;
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
'ogcsample.xml'; 'ogcsample.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
obj = parser.read(xhr.getResponseXml()); var obj = parser.read(xhr.getResponseXml());
contents = obj.contents; var contents = obj.contents;
layer = contents.layers[0]; var layer = contents.layers[0];
wgs84Bbox = layer.bounds; var wgs84Bbox = layer.bounds;
dimensions = layer.dimensions; var dimensions = layer.dimensions;
});
waitsFor(function() {
return (obj !== undefined);
}, 'XHR timeout', 1000, function() {
expect(contents.layers.length).to.eql(1); expect(contents.layers.length).to.eql(1);
expect(layer['abstract']).to.eql('Coastline/shorelines (BA010)'); expect(layer['abstract']).to.eql('Coastline/shorelines (BA010)');
expect(layer.identifier).to.eql('coastlines'); expect(layer.identifier).to.eql('coastlines');
@@ -136,22 +123,17 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() {
}); });
}); });
}); });
describe('test tileMatrixSets', function() { describe('test tileMatrixSets', function() {
it('Test tileMatrixSets', function(done) { it('Test tileMatrixSets', function(done) {
var obj, tileMatrixSets, bigWorld;
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' + var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
'ogcsample.xml'; 'ogcsample.xml';
goog.net.XhrIo.send(url, function(e) { goog.net.XhrIo.send(url, function(e) {
var xhr = e.target; var xhr = e.target;
obj = parser.read(xhr.getResponseXml()); var obj = parser.read(xhr.getResponseXml());
tileMatrixSets = obj.contents.tileMatrixSets; var tileMatrixSets = obj.contents.tileMatrixSets;
bigWorld = tileMatrixSets['BigWorld']; var bigWorld = tileMatrixSets['BigWorld'];
});
waitsFor(function() {
return (obj !== undefined);
}, 'XHR timeout', 1000, function() {
expect(bigWorld).to.not.be(undefined); expect(bigWorld).to.not.be(undefined);
expect(bigWorld.identifier).to.eql('BigWorld'); expect(bigWorld.identifier).to.eql('BigWorld');
expect(bigWorld.matrixIds.length).to.eql(2); expect(bigWorld.matrixIds.length).to.eql(2);

View File

@@ -1,32 +1,10 @@
function waitsFor(condition, message, timeout, callback) {
var timeWaiting = 0;
function inner() {
if (condition()) {
callback();
return;
}
if (timeWaiting >= timeout) {
throw new Error(message);
}
timeWaiting += 10;
setTimeout(inner, 10);
}
inner();
}
// helper functions for async testing // helper functions for async testing
(function(global) { (function(global) {
function afterLoad(type, path, next) { function afterLoad(type, path, next) {
var done, error, data;
goog.net.XhrIo.send(path, function(event) { goog.net.XhrIo.send(path, function(event) {
var xhr = event.target; var xhr = event.target;
var data;
if (xhr.isSuccess()) { if (xhr.isSuccess()) {
if (type === 'xml') { if (type === 'xml') {
data = xhr.getResponseXml(); data = xhr.getResponseXml();
@@ -36,16 +14,7 @@ function waitsFor(condition, message, timeout, callback) {
data = xhr.getResponseText(); data = xhr.getResponseText();
} }
} else { } else {
error = new Error(path + ' loading failed: ' + xhr.getStatus()); throw new Error(path + ' loading failed: ' + xhr.getStatus());
}
done = true;
});
waitsFor(function() {
return done;
}, 'XHR timeout', 1000, function() {
if (error) {
throw error;
} }
next(data); next(data);
}); });