<!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');

</script>
