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

Side by Side Diff: third_party/WebKit/LayoutTests/bluetooth/service/getCharacteristics/gen-disconnect-invalidates-objects.html

Issue 2680783002: bluetooth: show better error messages for services, characteristics and descriptors (Closed)
Patch Set: Added comment and changed to enum class. Created 3 years, 9 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 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter') 9 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
10 .then(() => requestDeviceWithKeyDown({ 10 .then(() => requestDeviceWithKeyDown({
11 filters: [{services: ['health_thermometer']}], 11 filters: [{services: ['health_thermometer']}],
12 optionalServices: [request_disconnection_service_uuid]})) 12 optionalServices: [request_disconnection_service_uuid]}))
13 .then(device => device.gatt.connect()) 13 .then(device => device.gatt.connect())
14 .then(gattServer => { 14 .then(gattServer => {
15 return gattServer.getPrimaryService('health_thermometer') 15 return gattServer.getPrimaryService('health_thermometer')
16 .then(service => service.getCharacteristics()) 16 .then(service => service.getCharacteristics())
17 .then(c => { 17 .then(c => {
18 // Convert to array if necessary. 18 // Convert to array if necessary.
19 let characteristics = [].concat(c); 19 let characteristics = [].concat(c);
20 gattServer.disconnect(); 20 gattServer.disconnect();
21 return gattServer.connect() 21 return gattServer.connect()
22 .then(() => characteristics); 22 .then(() => characteristics);
23 }); 23 });
24 }) 24 })
25 .then(characteristics => { 25 .then(characteristics => {
26 let promises = Promise.resolve(); 26 let promises = Promise.resolve();
27 for (let characteristic of characteristics) { 27 for (let characteristic of characteristics) {
28 let error = new DOMException( 28 let error = new DOMException(
29 'Characteristic is no longer valid. Remember to retrieve the ' + 29 'Characteristic with UUID ' + characteristic.uuid +
30 ' is no longer valid. Remember to retrieve the ' +
30 'characteristic again after reconnecting.', 31 'characteristic again after reconnecting.',
31 'InvalidStateError'); 32 'InvalidStateError');
32 promises = promises.then(() => 33 promises = promises.then(() =>
33 assert_promise_rejects_with_message( 34 assert_promise_rejects_with_message(
34 characteristic.readValue(), 35 characteristic.readValue(),
35 error)); 36 error));
36 promises = promises.then(() => 37 promises = promises.then(() =>
37 assert_promise_rejects_with_message( 38 assert_promise_rejects_with_message(
38 characteristic.writeValue(new Uint8Array([1])), 39 characteristic.writeValue(new Uint8Array([1])),
39 error)); 40 error));
40 promises = promises.then(() => 41 promises = promises.then(() =>
41 assert_promise_rejects_with_message( 42 assert_promise_rejects_with_message(
42 characteristic.startNotifications(), 43 characteristic.startNotifications(),
43 error)); 44 error));
44 promises = promises.then(() => 45 promises = promises.then(() =>
45 assert_promise_rejects_with_message( 46 assert_promise_rejects_with_message(
46 characteristic.stopNotifications(), 47 characteristic.stopNotifications(),
47 error)); 48 error));
48 } 49 }
49 return promises; 50 return promises;
50 }); 51 });
51 }, 'Calls on characteristics after we disconnects and connect again. ' + 52 }, 'Calls on characteristics after we disconnects and connect again. ' +
52 'Should reject with InvalidStateError.'); 53 'Should reject with InvalidStateError.');
53 54
54 </script> 55 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698