OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> |
| 4 <script src="../../resources/bluetooth/bluetooth-helpers.js"></script> |
| 5 <script> |
| 6 'use strict'; |
| 7 promise_test(() => { |
| 8 testRunner.setBluetoothManualChooser(true); |
| 9 |
| 10 // Open the chooser, looking for a Heart Rate device. |
| 11 let requestDevicePromise = |
| 12 setBluetoothFakeAdapter('SecondDiscoveryFindsHeartRateAdapter') |
| 13 .then(() => requestDeviceWithKeyDown({ |
| 14 filters: [{services: ['heart_rate']}] |
| 15 })); |
| 16 |
| 17 // The adapter finds nothing, so we just see discovery start and stop. |
| 18 return getBluetoothManualChooserEvents(3).then(events => { |
| 19 assert_array_equals(events, |
| 20 ['chooser-opened(file://)', |
| 21 'discovering', |
| 22 'discovery-idle', |
| 23 ]); |
| 24 |
| 25 // On the second discovery, the adapter finds the Heart Rate device. |
| 26 testRunner.sendBluetoothManualChooserEvent('rescan', ''); |
| 27 return getBluetoothManualChooserEvents(3); |
| 28 }).then(events => { |
| 29 assert_equals(events.length, 3, events); |
| 30 assert_equals(events[0], 'discovering', 'events[0]'); |
| 31 let idsByName = new AddDeviceEventSet(); |
| 32 idsByName.assert_add_device_event(events[1]); |
| 33 assert_true(idsByName.has('Heart Rate Device')); |
| 34 assert_equals(events[2], 'discovery-idle'); |
| 35 |
| 36 // Select it and let the test complete. |
| 37 testRunner.sendBluetoothManualChooserEvent('selected', |
| 38 idsByName.get('Heart Rate Device'
)); |
| 39 return requestDevicePromise; |
| 40 }).then(device => assert_equals(device.name, 'Heart Rate Device')); |
| 41 }, 'The chooser can restart the BT scan.'); |
| 42 </script> |
OLD | NEW |