| <!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-test.js"></script> |
| <script src="/bluetooth/resources/bluetooth-fake-devices.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(https://web-platform.test:8444)', '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> |