| <!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="../../resources/bluetooth/bluetooth-helpers.js"></script> |
| <script src="../../external/wpt/bluetooth/resources/bluetooth-helpers.js"></script> |
| <script> |
| 'use strict'; |
| bluetooth_test(() => { |
| setBluetoothManualChooser(true); |
| let requestDevicePromise = |
| navigator.bluetooth.test.simulateCentral({state: 'powered-off'}) |
| .then(() => requestDeviceWithTrustedClick({ |
| filters: [{services: ['generic_access']}]})); |
| return getBluetoothManualChooserEvents(2) |
| .then(events => { |
| assert_array_equals(events, |
| ['chooser-opened(file://)', |
| 'adapter-disabled'], |
| events); |
| sendBluetoothManualChooserEvent('cancelled', ''); |
| return assert_promise_rejects_with_message( |
| requestDevicePromise, |
| new DOMException('User cancelled the requestDevice() chooser.', |
| 'NotFoundError'), |
| 'Bluetooth adapter is not powered.'); |
| }); |
| }, 'Reject with NotFoundError if the BT radio is off.'); |
| </script> |