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

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

Issue 1216203003: Replace all sequential_promise_tests (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@update-testharnessjs
Patch Set: Created 5 years, 5 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/testharness-helpers.js"></script> 3 <script src="../resources/testharness-helpers.js"></script>
4 <script src="../resources/testharnessreport.js"></script> 4 <script src="../resources/testharnessreport.js"></script>
5 <script src="bluetooth-helpers.js"></script> 5 <script src="bluetooth-helpers.js"></script>
6 <script> 6 <script>
7 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); } , 7 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); } ,
8 "window.testRunner is required for the following tests."); 8 "window.testRunner is required for the following tests.");
9 9
10 sequential_promise_test(function() { 10 promise_test(function() {
11 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 11 testRunner.setBluetoothMockDataSet('EmptyAdapter');
12 return assert_promise_rejects(navigator.bluetooth.requestDevice(), 12 return assert_promise_rejects(navigator.bluetooth.requestDevice(),
13 new TypeError()); 13 new TypeError());
14 }, 'Requires an argument.'); 14 }, 'Requires an argument.');
15 15
16 sequential_promise_test(function() { 16 promise_test(function() {
17 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 17 testRunner.setBluetoothMockDataSet('EmptyAdapter');
18 return assert_promise_rejects(navigator.bluetooth.requestDevice({}), 18 return assert_promise_rejects(navigator.bluetooth.requestDevice({}),
19 new TypeError()); 19 new TypeError());
20 }, 'RequestDeviceOptions requires a |filters| member.'); 20 }, 'RequestDeviceOptions requires a |filters| member.');
21 21
22 sequential_promise_test(function() { 22 promise_test(function() {
23 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 23 testRunner.setBluetoothMockDataSet('EmptyAdapter');
24 return navigator.bluetooth.requestDevice({ 24 return navigator.bluetooth.requestDevice({
25 filters: [{services: [genericAccessServiceUuid]}] 25 filters: [{services: [genericAccessServiceUuid]}]
26 }).then(function() { 26 }).then(function() {
27 assert_unreached('Expected no devices but one was returned.'); 27 assert_unreached('Expected no devices but one was returned.');
28 }, function(e) { 28 }, function(e) {
29 assert_equals(e.name, 'NotFoundError'); 29 assert_equals(e.name, 'NotFoundError');
30 assert_equals(e.message, 'No Bluetooth devices in range.'); 30 assert_equals(e.message, 'No Bluetooth devices in range.');
31 }); 31 });
32 }, 'Reject with NotFoundError.'); 32 }, 'Reject with NotFoundError.');
33 33
34 sequential_promise_test(function() { 34 promise_test(function() {
35 testRunner.setBluetoothMockDataSet('SingleEmptyDeviceAdapter'); 35 testRunner.setBluetoothMockDataSet('SingleEmptyDeviceAdapter');
36 return navigator.bluetooth.requestDevice({ 36 return navigator.bluetooth.requestDevice({
37 filters: [{services: [genericAccessServiceUuid]}] 37 filters: [{services: [genericAccessServiceUuid]}]
38 }).then(function(device) { 38 }).then(function(device) {
39 assert_equals(device.constructor.name, "BluetoothDevice"); 39 assert_equals(device.constructor.name, "BluetoothDevice");
40 }); 40 });
41 }, 'Mock will resolve.'); 41 }, 'Mock will resolve.');
42 42
43 sequential_promise_test(function() { 43 promise_test(function() {
44 testRunner.setBluetoothMockDataSet('ScanFilterCheckingAdapter'); 44 testRunner.setBluetoothMockDataSet('ScanFilterCheckingAdapter');
45 // The work of this test is done in the ScanFilterCheckingAdapter. It asserts 45 // The work of this test is done in the ScanFilterCheckingAdapter. It asserts
46 // that this requestDevice() call tells the platform to scan for only devices 46 // that this requestDevice() call tells the platform to scan for only devices
47 // that include the Battery, Glucose, or Heart Rate services. 47 // that include the Battery, Glucose, or Heart Rate services.
48 return navigator.bluetooth.requestDevice({ 48 return navigator.bluetooth.requestDevice({
49 filters: [ 49 filters: [
50 {services: [batteryServiceUuid]}, 50 {services: [batteryServiceUuid]},
51 {services: [glucoseServiceUuid, heartRateServiceUuid]} 51 {services: [glucoseServiceUuid, heartRateServiceUuid]}
52 ], 52 ],
53 // The optionalServices shouldn't affect the platform's scan. 53 // The optionalServices shouldn't affect the platform's scan.
54 optionalServices: [genericAccessServiceUuid] 54 optionalServices: [genericAccessServiceUuid]
55 }); 55 });
56 }, 'Filters restrict the platform\'s Bluetooth scan.'); 56 }, 'Filters restrict the platform\'s Bluetooth scan.');
57 57
58 sequential_promise_test(function() { 58 promise_test(function() {
59 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter'); 59 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter');
60 return navigator.bluetooth.requestDevice({ 60 return navigator.bluetooth.requestDevice({
61 filters: [{services: [glucoseServiceUuid]}] 61 filters: [{services: [glucoseServiceUuid]}]
62 }).then(function(device) { 62 }).then(function(device) {
63 assert_equals(device.name, "Glucose Device"); 63 assert_equals(device.name, "Glucose Device");
64 }); 64 });
65 }, 'Simple filter selects matching device.'); 65 }, 'Simple filter selects matching device.');
66 66
67 sequential_promise_test(function() { 67 promise_test(function() {
68 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter'); 68 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter');
69 return navigator.bluetooth.requestDevice({ 69 return navigator.bluetooth.requestDevice({
70 filters: [{services: [genericAccessServiceUuid, heartRateServiceUuid]}] 70 filters: [{services: [genericAccessServiceUuid, heartRateServiceUuid]}]
71 }).then(function(device) { 71 }).then(function(device) {
72 assert_equals(device.name, "Heart Rate Device"); 72 assert_equals(device.name, "Heart Rate Device");
73 }); 73 });
74 }, 'Filter with 2 services returns a matching device.'); 74 }, 'Filter with 2 services returns a matching device.');
75 75
76 sequential_promise_test(function() { 76 promise_test(function() {
77 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter'); 77 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter');
78 return navigator.bluetooth.requestDevice({ 78 return navigator.bluetooth.requestDevice({
79 filters: [{services: [batteryServiceUuid]}, 79 filters: [{services: [batteryServiceUuid]},
80 {services: [heartRateServiceUuid]}] 80 {services: [heartRateServiceUuid]}]
81 }).then(function(device) { 81 }).then(function(device) {
82 assert_equals(device.name, "Heart Rate Device"); 82 assert_equals(device.name, "Heart Rate Device");
83 }); 83 });
84 }, 'An extra filter doesn\'t prevent matching.'); 84 }, 'An extra filter doesn\'t prevent matching.');
85 85
86 sequential_promise_test(function() { 86 promise_test(function() {
87 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter'); 87 testRunner.setBluetoothMockDataSet('MultiDeviceAdapter');
88 // Both devices support the Generic Access service, but things need to 88 // Both devices support the Generic Access service, but things need to
89 // support both services to pass the filter, and neither has a Battery 89 // support both services to pass the filter, and neither has a Battery
90 // service. 90 // service.
91 return assert_promise_rejects(navigator.bluetooth.requestDevice({ 91 return assert_promise_rejects(navigator.bluetooth.requestDevice({
92 filters: [{services: [genericAccessServiceUuid, batteryServiceUuid]}] 92 filters: [{services: [genericAccessServiceUuid, batteryServiceUuid]}]
93 }), 'NotFoundError'); 93 }), 'NotFoundError');
94 }, 'Too-strict filters do prevent matching.'); 94 }, 'Too-strict filters do prevent matching.');
95 95
96 </script> 96 </script>
OLDNEW
« no previous file with comments | « LayoutTests/bluetooth/readValue.html ('k') | LayoutTests/http/tests/fetch/chromium/error-messages.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698