mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-24 22:26:10 +03:00
59a254bea6
* Add tests for open failures * Refactor tests to avoid tests depending on implied status from previous tests: 1. The viewer is now created and destroyed for each test to avoid pollution and simplify error handling: nothing starts until you request it. 2. Some tests like Basic: Homepage depended on the Zoom & Pan tests; now this is handled explicitly as part of the test setup 3. All basic tests are now properly async tests (since they needed the viewer to load, they really were in the past except that they were relying on the viewer state left behind from previous tests) * All tests now run inside the qunit-fixture to prevent masking failures. Util.resetDom() has been refactored to use the qunit-fixture and the teardown logic only used in the navigator tests has been moved into the navigator test teardown method * Fixed undeclared mainViewerElement variable in optional path in the navigator tests * JSHint cleanup
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
(function() {
|
|
|
|
// This module tests whether our various file formats can be opened.
|
|
// TODO: Add more file formats (with corresponding test data).
|
|
|
|
module('Formats', {
|
|
setup: function () {
|
|
var example = document.createElement("div");
|
|
example.id = "example";
|
|
document.getElementById("qunit-fixture").appendChild(example);
|
|
}
|
|
});
|
|
|
|
var viewer = null;
|
|
|
|
// ----------
|
|
var testOpen = function(name) {
|
|
$(document).ready(function() {
|
|
var timeWatcher = Util.timeWatcher(7000);
|
|
|
|
viewer = OpenSeadragon({
|
|
id: 'example',
|
|
prefixUrl: '/build/openseadragon/images/',
|
|
tileSources: '/test/data/' + name
|
|
});
|
|
|
|
ok(viewer, 'Viewer exists');
|
|
|
|
var openHandler = function(eventSender, eventData) {
|
|
viewer.removeHandler('open', openHandler);
|
|
ok(true, 'Open event was sent');
|
|
viewer.addHandler('tile-drawn', tileDrawnHandler);
|
|
};
|
|
|
|
var tileDrawnHandler = function(eventSender, eventData) {
|
|
viewer.removeHandler('tile-drawn', tileDrawnHandler);
|
|
ok(true, 'A tile has been drawn');
|
|
viewer.addHandler('close', closeHandler);
|
|
viewer.close();
|
|
};
|
|
|
|
var closeHandler = function() {
|
|
viewer.removeHandler('close', closeHandler);
|
|
$('#example').empty();
|
|
ok(true, 'Close event was sent');
|
|
timeWatcher.done();
|
|
};
|
|
|
|
viewer.addHandler('open', openHandler);
|
|
});
|
|
};
|
|
|
|
// ----------
|
|
asyncTest('DZI', function() {
|
|
testOpen('testpattern.dzi');
|
|
});
|
|
|
|
// ----------
|
|
asyncTest('DZI JSONp', function() {
|
|
testOpen('testpattern.js');
|
|
});
|
|
|
|
// ----------
|
|
asyncTest('DZI XML', function() {
|
|
testOpen('testpattern.xml');
|
|
});
|
|
|
|
})();
|