openseadragon/test/modules/imageloader.js

95 lines
3.0 KiB
JavaScript
Raw Normal View History

2017-12-07 04:20:39 +03:00
/* global QUnit, $, testLog */
(function() {
var viewer,
baseOptions = {
id: 'example',
prefixUrl: '/build/openseadragon/images/',
springStiffness: 100 // Faster animation = faster tests
};
2017-12-07 04:20:39 +03:00
QUnit.module('ImageLoader', {
beforeEach: function () {
$('<div id="example"></div>').appendTo("#qunit-fixture");
testLog.reset();
},
2017-12-07 04:20:39 +03:00
afterEach: function () {
2024-01-10 20:13:00 +03:00
if (viewer){
let errors = viewer.drawer._numGlMaxTextureErrors;
if(errors > 0){
console.log('Number of times MAX_TEXTURE_IMAGE_UNITS had a bad value:', errors);
} else {
console.log('Num OK draw calls', viewer.drawer._numGlMaxTextureOks);
}
viewer.destroy();
2024-01-18 01:07:25 +03:00
}
viewer = null;
}
});
// ----------
2017-12-07 04:20:39 +03:00
QUnit.test('Default timeout', function(assert) {
var actual,
expected = OpenSeadragon.DEFAULT_SETTINGS.timeout,
message,
options = OpenSeadragon.extend(true, baseOptions, {
imageLoaderLimit: 1
2017-12-07 04:20:39 +03:00
}),
viewer = OpenSeadragon(options),
imageLoader = viewer.imageLoader;
message = 'ImageLoader timeout should be set to the default value of ' + expected + ' when none is specified';
actual = imageLoader.timeout;
2017-12-07 04:20:39 +03:00
assert.equal(actual, expected, message);
// Manually seize the ImageLoader
imageLoader.jobsInProgress = imageLoader.jobLimit;
imageLoader.addJob({
src: 'test',
loadWithAjax: false,
crossOriginPolicy: 'test',
ajaxWithCredentials: false,
abort: function() {}
});
message = 'ImageJob should inherit the ImageLoader timeout value';
actual = imageLoader.jobQueue.shift().timeout;
2017-12-07 04:20:39 +03:00
assert.equal(actual, expected, message);
});
// ----------
2017-12-07 04:20:39 +03:00
QUnit.test('Configure timeout', function(assert) {
var actual,
expected = 123456,
message,
options = OpenSeadragon.extend(true, baseOptions, {
imageLoaderLimit: 1,
timeout: expected
}),
viewer = OpenSeadragon(options),
imageLoader = viewer.imageLoader;
message = 'ImageLoader timeout should be configurable';
actual = imageLoader.timeout;
2017-12-07 04:20:39 +03:00
assert.equal(actual, expected, message);
imageLoader.jobsInProgress = imageLoader.jobLimit;
imageLoader.addJob({
src: 'test',
loadWithAjax: false,
crossOriginPolicy: 'test',
ajaxWithCredentials: false,
abort: function() {}
});
message = 'ImageJob should inherit the ImageLoader timeout value';
actual = imageLoader.jobQueue.shift().timeout;
2017-12-07 04:20:39 +03:00
assert.equal(actual, expected, message);
});
})();