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

Side by Side Diff: LayoutTests/bluetooth/getPrimaryService.html

Issue 1182973002: Implement the Blink side of RequestDeviceOptions. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@pinned
Patch Set: Prepare readValue.html for a mock data change Created 5 years, 6 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 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="bluetooth-helpers.js"></script> 4 <script src="bluetooth-helpers.js"></script>
5 <script> 5 <script>
6 test(function(t) { assert_exists(window, "testRunner"); t.done(); }, 6 test(function(t) { assert_exists(window, "testRunner"); t.done(); },
7 "window.testRunner is required for the following tests."); 7 "window.testRunner is required for the following tests.");
8 8
9 var generic_access = "00001800-0000-1000-8000-00805f9b34fb"; 9 var generic_access = "00001800-0000-1000-8000-00805f9b34fb";
10 var heart_rate = "0000180D-0000-1000-8000-00805f9b34fb"; 10 var heart_rate = "0000180D-0000-1000-8000-00805f9b34fb";
11 11
12 sequential_promise_test(function() { 12 sequential_promise_test(function() {
13 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); 13 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
14 return navigator.bluetooth.requestDevice().then(function(device) { 14 return navigator.bluetooth.requestDevice({
15 filters: [{services: [generic_access]}]
16 }).then(function(device) {
15 return device.connectGATT(); 17 return device.connectGATT();
16 }).then(function(gattServer) { 18 }).then(function(gattServer) {
17 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 19 testRunner.setBluetoothMockDataSet('EmptyAdapter');
18 return gattServer.getPrimaryService(generic_access).then(function() { 20 return gattServer.getPrimaryService(generic_access).then(function() {
19 assert_unreached('Should return error if device not in adapter.'); 21 assert_unreached('Should return error if device not in adapter.');
20 }, function(e) { 22 }, function(e) {
21 assert_equals(e.name, "NetworkError"); 23 assert_equals(e.name, "NetworkError");
22 }); 24 });
23 }); 25 });
24 }, 'Device goes out of range. Reject with NetworkError.'); 26 }, 'Device goes out of range. Reject with NetworkError.');
25 27
26 sequential_promise_test(function() { 28 sequential_promise_test(function() {
27 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); 29 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
28 return navigator.bluetooth.requestDevice().then(function(device) { 30 return navigator.bluetooth.requestDevice({
31 filters: [{services: [generic_access]}]
32 }).then(function(device) {
29 return device.connectGATT(); 33 return device.connectGATT();
30 }).then(function(gattServer) { 34 }).then(function(gattServer) {
31 return gattServer.getPrimaryService(heart_rate); 35 return gattServer.getPrimaryService(heart_rate);
32 }).then(function(service) { 36 }).then(function(service) {
33 assert_equals(service, null, 37 assert_equals(service, null,
34 "Non existent services should return null."); 38 "Non existent services should return null.");
35 }); 39 });
36 }, 'Request for wrong service. Should return null.'); 40 }, 'Request for wrong service. Should return null.');
37 41
38 sequential_promise_test(function() { 42 sequential_promise_test(function() {
39 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); 43 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
40 return navigator.bluetooth.requestDevice().then(function(device) { 44 return navigator.bluetooth.requestDevice({
45 filters: [{services: [generic_access]}]
46 }).then(function(device) {
41 return device.connectGATT(); 47 return device.connectGATT();
42 }).then(function(gattServer) { 48 }).then(function(gattServer) {
43 return gattServer.getPrimaryService(generic_access); 49 return gattServer.getPrimaryService(generic_access);
44 }).then(function(service) { 50 }).then(function(service) {
45 assert_equals(service.uuid, generic_access, 51 assert_equals(service.uuid, generic_access,
46 "Service UUID should be the same as requested UUID."); 52 "Service UUID should be the same as requested UUID.");
47 assert_true(service.isPrimary, 53 assert_true(service.isPrimary,
48 "getPrimaryService should return a primary service."); 54 "getPrimaryService should return a primary service.");
49 }); 55 });
50 }, 'Request for service. Should return right service'); 56 }, 'Request for service. Should return right service');
51 57
52 sequential_promise_test(function() { 58 sequential_promise_test(function() {
53 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter'); 59 testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
54 return navigator.bluetooth.requestDevice().then(function(device) { 60 return navigator.bluetooth.requestDevice({
61 filters: [{services: [generic_access]}]
62 }).then(function(device) {
55 return device.connectGATT(); 63 return device.connectGATT();
56 }).then(function(gattServer) { 64 }).then(function(gattServer) {
57 return Promise.all([gattServer.getPrimaryService(generic_access), 65 return Promise.all([gattServer.getPrimaryService(generic_access),
58 gattServer.getPrimaryService(generic_access)]); 66 gattServer.getPrimaryService(generic_access)]);
59 }).then(function(services) { 67 }).then(function(services) {
60 // getPrimaryService should return the same object if it was created 68 // getPrimaryService should return the same object if it was created
61 // earlier. https://crbug.com/495270 69 // earlier. https://crbug.com/495270
62 // TODO(ortuno): Change to assert_equals. 70 // TODO(ortuno): Change to assert_equals.
63 assert_not_equals(services[0], services[1], 71 assert_not_equals(services[0], services[1],
64 "Should return the same service as the first call."); 72 "Should return the same service as the first call.");
65 }); 73 });
66 }, 'Calls to get the same service should return the same object.'); 74 }, 'Calls to get the same service should return the same object.');
67 75
68 </script> 76 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698