Tests: update AJAX tests

* IE8 support for makeAjaxRequest test (xhr.response does not exist,
  responseText is supported by all major browsers)
* Update makeAjaxRequest test to confirm that the success callback is
  called and that the error callback is not
* Add a test for makeAjaxRequest with an invalid file and verify that
  error callback is called but the success callback is not
This commit is contained in:
Chris Adams 2013-07-02 16:28:59 -04:00
parent 6d7dd71577
commit 3434fe600c

View File

@ -1,3 +1,5 @@
/* global module, asyncTest, $, ok, equal, strictEqual, notEqual, start, test, Util, testLog */
(function() { (function() {
module("utils"); module("utils");
@ -56,10 +58,33 @@
asyncTest("makeAjaxRequest", function() { asyncTest("makeAjaxRequest", function() {
var timeWatcher = Util.timeWatcher(); var timeWatcher = Util.timeWatcher();
OpenSeadragon.makeAjaxRequest('data/testpattern.dzi', function(xhr) { OpenSeadragon.makeAjaxRequest('data/testpattern.dzi',
ok(/deepzoom/.test(xhr.response), 'file loaded'); function(xhr) {
equal(xhr.status, 200, 'Success callback called for HTTP 200');
ok(/deepzoom/.test(xhr.responseText), 'Success function called');
timeWatcher.done(); timeWatcher.done();
},
function(xhr) {
ok(false, 'Error callback should not be called');
timeWatcher.done();
}
);
}); });
asyncTest("makeAjaxRequest for invalid file", function() {
var timeWatcher = Util.timeWatcher();
OpenSeadragon.makeAjaxRequest('not-a-real-dzi-file',
function(xhr) {
ok(false, 'Success function should not be called for errors');
timeWatcher.done();
},
function(xhr) {
equal(xhr.status, 404, 'Error callback called for HTTP 404');
ok(true, 'Error function should be called for errors');
timeWatcher.done();
}
);
}); });
// ---------- // ----------