Index: third_party/WebKit/LayoutTests/bluetooth/script-tests/characteristic/descriptor-service-is-removed.js |
diff --git a/third_party/WebKit/LayoutTests/bluetooth/script-tests/characteristic/descriptor-service-is-removed.js b/third_party/WebKit/LayoutTests/bluetooth/script-tests/characteristic/descriptor-service-is-removed.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a19afb2aa035dc7477cbf8cc47e79e24ebc14ffc |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/bluetooth/script-tests/characteristic/descriptor-service-is-removed.js |
@@ -0,0 +1,20 @@ |
+'use strict'; |
+promise_test(() => { |
ortuno
2016/12/07 08:05:13
Same here. 'service-is-removed.js' with a todo to
dougt
2016/12/07 19:48:57
Done.
|
+ return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter') |
+ .then(() => requestDeviceWithKeyDown({ |
+ filters: [{services: ['health_thermometer']}], |
+ optionalServices: ['generic_access']})) |
ortuno
2016/12/07 08:05:13
no need for generic access.
dougt
2016/12/07 19:48:57
Done.
|
+ .then(device => device.gatt.connect()) |
+ .then(gattService => gattService.getPrimaryService('health_thermometer')) |
+ .then(service => service.getCharacteristic('measurement_interval')) |
+ .then(characteristic => { |
+ return setBluetoothFakeAdapter('MissingServiceHeartRateAdapter') |
ortuno
2016/12/07 08:05:13
I'm surprised this work. This should really be Mis
dougt
2016/12/07 19:48:58
Done.
|
+ .then(() => assert_promise_rejects_with_message( |
+ characteristic.CALLS([ |
+ getDescriptor(user_description.name)| |
+ getDescriptors(user_description.name)]), |
+ new DOMException('GATT Service no longer exists.', |
+ 'InvalidStateError'), |
+ 'Service got removed.')); |
+ }); |
+}, 'Service is removed. Reject with InvalidStateError.'); |