Index: third_party/WebKit/LayoutTests/bluetooth/notifications/add-listener-after-promise.html |
diff --git a/third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html b/third_party/WebKit/LayoutTests/bluetooth/notifications/add-listener-after-promise.html |
similarity index 55% |
copy from third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html |
copy to third_party/WebKit/LayoutTests/bluetooth/notifications/add-listener-after-promise.html |
index 1d5add9481b730d551aac048f1dc532cf6113511..dfbd2f37d9bdc5c3c3dcdb1ee2557f0b683fa825 100644 |
--- a/third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html |
+++ b/third_party/WebKit/LayoutTests/bluetooth/notifications/add-listener-after-promise.html |
@@ -12,12 +12,17 @@ promise_test(() => { |
.then(gattServer => gattServer.getPrimaryService('heart_rate')) |
.then(service => service.getCharacteristic('heart_rate_measurement')) |
.then(characteristic => { |
- return setBluetoothFakeAdapter('EmptyAdapter') |
- .then(() => assert_promise_rejects_with_message( |
- characteristic.startNotifications(), |
- new DOMException( |
- 'Bluetooth Device is no longer in range.', 'NetworkError'), |
- 'Device went out of range.')); |
+ return characteristic.startNotifications() |
+ .then(() => new Promise(resolve => { |
+ let event_listener = e => { |
+ characteristic.removeEventListener( |
+ 'characteristicvaluechanged', event_listener); |
+ resolve(); |
+ }; |
+ characteristic.addEventListener( |
+ 'characteristicvaluechanged', event_listener); |
+ })); |
}); |
-}, 'Device goes out of range. Reject with NetworkError.'); |
+}, 'Registering after the promise resolves shouldn\'t result in events ' + |
+ 'getting dropped.'); |
</script> |