Files
openlayers/test/test-extensions.js
2014-02-04 22:20:45 +01:00

54 lines
1.5 KiB
JavaScript

// FIXME remove afterLoadXml as it uses the wrong XML parser on IE9
// helper functions for async testing
(function(global) {
function afterLoad(type, path, next) {
var client = new XMLHttpRequest();
client.open('GET', path, true);
client.onload = function() {
var data;
if (type === 'xml') {
data = client.responseXML;
} else {
data = client.responseText;
}
if (!data) {
throw new Error(path + ' loading failed: ' + client.status);
}
next(data);
};
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
* success. On failure, an error is thrown with the reason.
*/
global.afterLoadJson = function(path, next) {
afterLoad('json', path, next);
};
/**
* @param {string} path Relative path to file (e.g. 'spec/ol/foo.txt').
* @param {function(string)} next Function to call with response text on
* success. On failure, an error is thrown with the reason.
*/
global.afterLoadText = function(path, next) {
afterLoad('text', path, next);
};
/**
* @param {string} path Relative path to file (e.g. 'spec/ol/foo.xml').
* @param {function(Document)} next Function to call with response xml on
* success. On failure, an error is thrown with the reason.
*/
global.afterLoadXml = function(path, next) {
afterLoad('xml', path, next);
};
})(this);