OLD | NEW |
1 <!-- Generated by //third_party/WebKit/LayoutTests/bluetooth/generate.py --> | 1 <!-- Generated by //third_party/WebKit/LayoutTests/bluetooth/generate.py --> |
2 <!DOCTYPE html> | 2 <!DOCTYPE html> |
3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
5 <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> | 5 <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> |
6 <script> | 6 <script> |
7 promise_test( | 7 promise_test( |
8 () => { | 8 () => { |
9 let val = new Uint8Array([1]); | 9 let val = new Uint8Array([1]); |
10 return setBluetoothFakeAdapter( | 10 return setBluetoothFakeAdapter( |
11 'DisconnectingDuringFailureGATTOperationAdapter') | 11 'DisconnectingDuringFailureGATTOperationAdapter') |
12 .then( | 12 .then( |
13 () => requestDeviceWithKeyDown( | 13 () => requestDeviceWithKeyDown( |
14 {filters: [{services: ['health_thermometer']}]})) | 14 {filters: [{services: ['health_thermometer']}]})) |
15 .then(device => device.gatt.connect()) | 15 .then(device => device.gatt.connect()) |
16 .then(gatt => gatt.getPrimaryService('health_thermometer')) | 16 .then(gatt => gatt.getPrimaryService('health_thermometer')) |
17 .then(service => service.getCharacteristic('measurement_interval')) | 17 .then(service => service.getCharacteristic('measurement_interval')) |
18 .then( | 18 .then( |
19 characteristic => | 19 characteristic => |
20 characteristic.getDescriptor(user_description.name)) | 20 characteristic.getDescriptor(user_description.name)) |
21 .then(descriptor => { | 21 .then(descriptor => { |
22 let disconnected = eventPromise( | 22 let disconnected = eventPromise( |
23 descriptor.characteristic.service.device, | 23 descriptor.characteristic.service.device, |
24 'gattserverdisconnected'); | 24 'gattserverdisconnected'); |
25 let promise = assert_promise_rejects_with_message( | 25 let promise = assert_promise_rejects_with_message( |
26 descriptor.writeValue(val), | 26 descriptor.writeValue(val), |
27 new DOMException( | 27 new DOMException( |
28 'GATT Server disconnected while performing a GATT operation.
', | 28 'GATT Server is disconnected. Cannot perform GATT operations.
' + |
| 29 '(Re)connect first with `device.gatt.connect`.', |
29 'NetworkError')); | 30 'NetworkError')); |
30 return disconnected | 31 return disconnected |
31 .then( | 32 .then( |
32 () => | 33 () => |
33 descriptor.characteristic.service.device.gatt.connect()) | 34 descriptor.characteristic.service.device.gatt.connect()) |
34 .then(() => promise); | 35 .then(() => promise); |
35 }); | 36 }); |
36 }, | 37 }, |
37 'Device reconnects during a writeValue call that fails. Reject ' + | 38 'Device reconnects during a writeValue call that fails. Reject ' + |
38 'with NetworkError.'); | 39 'with NetworkError.'); |
39 | 40 |
40 </script> | 41 </script> |
OLD | NEW |