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> | |
4 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
5 <script src="bluetooth-helpers.js"></script> | 4 <script src="bluetooth-helpers.js"></script> |
6 <script> | 5 <script> |
7 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); }
, | 6 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); }
, |
8 "window.testRunner is required for the following tests."); | 7 "window.testRunner is required for the following tests."); |
9 | 8 |
10 sequential_promise_test(function() { | 9 promise_test(function() { |
11 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); | 10 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); |
12 return navigator.bluetooth.requestDevice({ | 11 return navigator.bluetooth.requestDevice({ |
13 filters: [{services: [genericAccessServiceUuid]}] | 12 filters: [{services: [genericAccessServiceUuid]}] |
14 }).then(function(device) { | 13 }).then(function(device) { |
15 testRunner.setBluetoothMockDataSet('EmptyAdapter'); | 14 testRunner.setBluetoothMockDataSet('EmptyAdapter'); |
16 return device.connectGATT().then(function() { | 15 return device.connectGATT().then(function() { |
17 assert_unreached('Should return error if device not in adapter.'); | 16 assert_unreached('Should return error if device not in adapter.'); |
18 }, function(e) { | 17 }, function(e) { |
19 assert_equals(e.name, 'NetworkError'); | 18 assert_equals(e.name, 'NetworkError'); |
20 assert_equals(e.message, 'Bluetooth Device is no longer in range.'); | 19 assert_equals(e.message, 'Bluetooth Device is no longer in range.'); |
21 }); | 20 }); |
22 }); | 21 }); |
23 }, 'Device goes out of range. Reject with NetworkError.'); | 22 }, 'Device goes out of range. Reject with NetworkError.'); |
24 | 23 |
25 sequential_promise_test(function() { | 24 promise_test(function() { |
26 testRunner.setBluetoothMockDataSet('UnconnectableDeviceAdapter'); | 25 testRunner.setBluetoothMockDataSet('UnconnectableDeviceAdapter'); |
27 return navigator.bluetooth.requestDevice({ | 26 return navigator.bluetooth.requestDevice({ |
28 filters: [{services: [genericAccessServiceUuid]}] | 27 filters: [{services: [genericAccessServiceUuid]}] |
29 }).then(function(device) { | 28 }).then(function(device) { |
30 return device.connectGATT().then(function() { | 29 return device.connectGATT().then(function() { |
31 assert_unreached('Should return error since device failed to connect.'); | 30 assert_unreached('Should return error since device failed to connect.'); |
32 }, function(e) { | 31 }, function(e) { |
33 assert_equals(e.name, 'NetworkError'); | 32 assert_equals(e.name, 'NetworkError'); |
34 assert_equals(e.message, 'Connection failed for unknown reason.'); | 33 assert_equals(e.message, 'Connection failed for unknown reason.'); |
35 }); | 34 }); |
36 }); | 35 }); |
37 }, 'Device failed to connect. Reject with NetworkError.'); | 36 }, 'Device failed to connect. Reject with NetworkError.'); |
38 | 37 |
39 sequential_promise_test(function() { | 38 promise_test(function() { |
40 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); | 39 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); |
41 return navigator.bluetooth.requestDevice({ | 40 return navigator.bluetooth.requestDevice({ |
42 filters: [{services: [genericAccessServiceUuid]}] | 41 filters: [{services: [genericAccessServiceUuid]}] |
43 }).then(function(device) { | 42 }).then(function(device) { |
44 return device.connectGATT(); | 43 return device.connectGATT(); |
45 }).then(function(gattConnection) { | 44 }).then(function(gattConnection) { |
46 assert_true(gattConnection.connected); | 45 assert_true(gattConnection.connected); |
47 }); | 46 }); |
48 }, 'Device will connect'); | 47 }, 'Device will connect'); |
49 </script> | 48 </script> |
OLD | NEW |