Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-garbage-collection-ran-during-success.html

Issue 2654403002: Implement WebBluetooth descriptor.writeValue() (Closed)
Patch Set: #4 Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 'use strict'; 7 'use strict';
8 promise_test( 8 promise_test(
9 () => { 9 () => {
10 let val = new Uint8Array([1]);
10 let promise; 11 let promise;
11 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter') 12 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
12 .then( 13 .then(
13 () => requestDeviceWithKeyDown( 14 () => requestDeviceWithKeyDown(
14 {filters: [{services: ['health_thermometer']}]})) 15 {filters: [{services: ['health_thermometer']}]}))
15 .then(device => device.gatt.connect()) 16 .then(device => device.gatt.connect())
16 .then( 17 .then(
17 gattServer => gattServer.getPrimaryService('health_thermometer')) 18 gattServer => gattServer.getPrimaryService('health_thermometer'))
18 .then(service => service.getCharacteristic('measurement_interval')) 19 .then(service => service.getCharacteristic('measurement_interval'))
19 .then( 20 .then(
20 characteristic => 21 characteristic =>
21 characteristic.getDescriptor(user_description.name)) 22 characteristic.getDescriptor(user_description.name))
22 .then(descriptor => { 23 .then(descriptor => {
23 promise = assert_promise_rejects_with_message( 24 promise = assert_promise_rejects_with_message(
24 descriptor.readValue(), 25 descriptor.writeValue(val),
25 new DOMException( 26 new DOMException(
26 'GATT Server disconnected while performing a GATT operation. ', 27 'GATT Server disconnected while performing a GATT operation. ',
27 'NetworkError')); 28 'NetworkError'));
28 // Disconnect called to clear attributeInstanceMap and allow the 29 // Disconnect called to clear attributeInstanceMap and allow the
29 // object to get garbage collected. 30 // object to get garbage collected.
30 descriptor.characteristic.service.device.gatt.disconnect(); 31 descriptor.characteristic.service.device.gatt.disconnect();
31 }) 32 })
32 .then(runGarbageCollection) 33 .then(runGarbageCollection)
33 .then(() => promise); 34 .then(() => promise);
34 }, 35 },
35 'Garbage collection ran during a readValue call that succeeds. ' + 36 'Garbage collection ran during a writeValue call that succeeds. ' +
36 'Should not crash.'); 37 'Should not crash.');
37 38
38 </script> 39 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698