OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharness-helpers.js"></script> | 3 <script src="../resources/testharness-helpers.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
5 <script src="resources/bluetooth-helpers.js"></script> | 5 <script src="resources/bluetooth-helpers.js"></script> |
6 <script> | 6 <script> |
7 'use strict'; | 7 'use strict'; |
8 | 8 |
9 test(t => { assert_true(window.testRunner instanceof Object); t.done(); }, | 9 test(t => { assert_true(window.testRunner instanceof Object); t.done(); }, |
10 'window.testRunner is required for the following tests.'); | 10 'window.testRunner is required for the following tests.'); |
11 | 11 |
12 promise_test(() => { | 12 promise_test(() => { |
13 testRunner.setBluetoothMockDataSet('HeartRateAdapter'); | 13 testRunner.setBluetoothMockDataSet('BlacklistTestAdapter'); |
14 return assert_promise_rejects_with_message( | 14 return assert_promise_rejects_with_message( |
15 requestDeviceWithKeyDown( | 15 requestDeviceWithKeyDown( |
16 {filters: [{services: ['human_interface_device']}]}), | 16 {filters: [{services: ['human_interface_device']}]}), |
17 new DOMException( | 17 new DOMException( |
18 'requestDevice() called with a filter containing a blacklisted UUID. ' + | 18 'requestDevice() called with a filter containing a blacklisted UUID. ' + |
19 'https://goo.gl/4NeimX', | 19 'https://goo.gl/4NeimX', |
20 'SecurityError'), | 20 'SecurityError'), |
21 'Requesting blacklisted service rejects.'); | 21 'Requesting blacklisted service rejects.'); |
22 }, 'Reject with SecurityError if requesting a blacklisted service.'); | 22 }, 'Reject with SecurityError if requesting a blacklisted service.'); |
23 | 23 |
24 promise_test(() => { | 24 promise_test(() => { |
25 testRunner.setBluetoothMockDataSet('HeartRateAndHIDAdapter'); | 25 testRunner.setBluetoothMockDataSet('BlacklistTestAdapter'); |
26 return requestDeviceWithKeyDown( | 26 return requestDeviceWithKeyDown( |
27 { | 27 { |
28 filters: [{services: ['heart_rate']}], | 28 filters: [{services: [blacklist_test_service_uuid]}], |
29 optionalServices: ['human_interface_device'] | 29 optionalServices: ['human_interface_device'] |
30 }) | 30 }) |
31 .then(device => device.gatt.connect()) | 31 .then(device => device.gatt.connect()) |
32 .then(gattServer => { | 32 .then(gattServer => { |
33 return assert_promise_rejects_with_message( | 33 return assert_promise_rejects_with_message( |
34 gattServer.getPrimaryService('human_interface_device'), | 34 gattServer.getPrimaryService('human_interface_device'), |
35 new DOMException( | 35 new DOMException( |
36 'Origin is not allowed to access the service. Remember to add the ' + | 36 'Origin is not allowed to access the service. Remember to add the ' + |
37 'service to a filter or to optionalServices in requestDevice().', | 37 'service to a filter or to optionalServices in requestDevice().', |
38 'SecurityError'), | 38 'SecurityError'), |
39 'Blacklisted service not accessible.'); | 39 'Blacklisted service not accessible.'); |
40 }); | 40 }); |
41 }, 'Blacklisted UUID in optionalServices is removed and access not granted.'); | 41 }, 'Blacklisted UUID in optionalServices is removed and access not granted.'); |
42 </script> | 42 </script> |
OLD | NEW |