diff options
Diffstat (limited to 'testing/web-platform/tests/shape-detection/detection-ImageData-detached.https.html')
-rw-r--r-- | testing/web-platform/tests/shape-detection/detection-ImageData-detached.https.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/shape-detection/detection-ImageData-detached.https.html b/testing/web-platform/tests/shape-detection/detection-ImageData-detached.https.html new file mode 100644 index 0000000000..b4e31c8656 --- /dev/null +++ b/testing/web-platform/tests/shape-detection/detection-ImageData-detached.https.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + +function detachBuffer(buffer) { + window.postMessage('', '*', [buffer]); +} + +promise_test(async () => { + let data = new ImageData(1024, 1024); + detachBuffer(data.data.buffer); + let detector = new FaceDetector(); + try { + await detector.detect(data); + assert_unreached(); + } catch (e) { + assert_equals(e.code, DOMException.INVALID_STATE_ERR); + } +}, 'FaceDetector.detect() rejects on a detached buffer'); + +promise_test(async () => { + let data = new ImageData(1024, 1024); + detachBuffer(data.data.buffer); + let detector = new BarcodeDetector(); + try { + await detector.detect(data); + assert_unreached(); + } catch (e) { + assert_equals(e.code, DOMException.INVALID_STATE_ERR); + } +}, 'BarcodeDetector.detect() rejects on a detached buffer'); + +promise_test(async () => { + let data = new ImageData(1024, 1024); + detachBuffer(data.data.buffer); + let detector = new TextDetector(); + try { + await detector.detect(data); + assert_unreached(); + } catch (e) { + assert_equals(e.code, DOMException.INVALID_STATE_ERR); + } +}, 'TextDetector.detect() rejects on a detached buffer'); + +</script> |