| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="/bluetooth/resources/bluetooth-helpers.js"></script> |
| <script> |
| 'use strict'; |
| |
| function detachBuffer(buffer) { |
| window.postMessage('', '*', [buffer]); |
| } |
| |
| bluetooth_test(async (t) => { |
| let {characteristic, fake_characteristic} = |
| await getMeasurementIntervalCharacteristic(); |
| |
| let typed_array = Uint8Array.of(1, 2); |
| detachBuffer(typed_array.buffer); |
| await promise_rejects( |
| t, 'InvalidStateError', characteristic.writeValue(typed_array)); |
| |
| let array_buffer = Uint8Array.of(3, 4).buffer; |
| detachBuffer(array_buffer); |
| await promise_rejects( |
| t, 'InvalidStateError', characteristic.writeValue(array_buffer)); |
| }, 'writeValue() fails when passed a detached buffer'); |
| </script> |