mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
async function createClosedImageBitmap(t) {
|
|
const img = new Image();
|
|
const imgWatcher = new EventWatcher(t, img, ['load', 'error']);
|
|
img.src = '/images/green-16x16.png';
|
|
await imgWatcher.wait_for('load');
|
|
const imageBitmap = await createImageBitmap(img);
|
|
imageBitmap.close();
|
|
return imageBitmap;
|
|
}
|
|
|
|
promise_test(async (t) => {
|
|
const imageBitmap = await createClosedImageBitmap(t);
|
|
const detector = new FaceDetector();
|
|
try {
|
|
await detector.detect(imageBitmap);
|
|
assert_unreached();
|
|
} catch (e) {
|
|
assert_equals(e.code, DOMException.INVALID_STATE_ERR);
|
|
}
|
|
}, 'FaceDetector.detect() rejects on a closed ImageBitmap');
|
|
|
|
promise_test(async (t) => {
|
|
const imageBitmap = await createClosedImageBitmap(t);
|
|
const detector = new BarcodeDetector();
|
|
try {
|
|
await detector.detect(imageBitmap);
|
|
assert_unreached();
|
|
} catch (e) {
|
|
assert_equals(e.code, DOMException.INVALID_STATE_ERR);
|
|
}
|
|
}, 'BarcodeDetector.detect() rejects on a closed ImageBitmap');
|
|
|
|
promise_test(async (t) => {
|
|
const imageBitmap = await createClosedImageBitmap(t);
|
|
const detector = new TextDetector();
|
|
try {
|
|
await detector.detect(imageBitmap);
|
|
assert_unreached();
|
|
} catch (e) {
|
|
assert_equals(e.code, DOMException.INVALID_STATE_ERR);
|
|
}
|
|
}, 'TextDetector.detect() rejects on a closed ImageBitmap');
|