importScripts('../../../resources/js-test.js');
self.jsTestIsAsync = true;
description('Test createImageBitmap with invalid arguments in workers.');
var reason;
function shouldBeRejected(promise, message) {
return promise.then(function() {
testFailed('Resolved unexpectedly: ' + message);
}, function(e) {
reason = e;
testPassed('Rejected as expected: ' + message);
shouldBeTrue('reason instanceof Error');
debug(String(e));
});
}
var data;
self.addEventListener('message', function(e) {
data = e.data;
Promise.resolve().then(function() {
return shouldBeRejected(createImageBitmap(null, 0, 0, 10, 10), 'null');
}).then(function() {
return shouldBeRejected(createImageBitmap(data, 0, 0, 10, 0), 'invalid area');
}).then(function() {
return shouldBeRejected(createImageBitmap(data, 0, 0, 0, 10), 'invalid area');
}).catch(function(e) {
testFailed('Unexpected rejection: ' + e);
}).then(finishJSTest, finishJSTest);
});