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

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

Issue 1295373003: Remove sequential_promise_test helper, just use promise_test (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove testharness-helpers.js inclusion from bluetooth tests Created 5 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/bluetooth/readValue.html ('k') | LayoutTests/bluetooth/writeValue.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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="resources/bluetooth-helpers.js"></script> 5 <script src="resources/bluetooth-helpers.js"></script>
6 <script> 6 <script>
7 'use strict'; 7 'use strict';
8 8
9 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); } , 9 test(function(t) { assert_true(window.testRunner instanceof Object); t.done(); } ,
10 'window.testRunner is required for the following tests.'); 10 'window.testRunner is required for the following tests.');
11 11
12 sequential_promise_test(() => { 12 promise_test(() => {
13 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 13 testRunner.setBluetoothMockDataSet('EmptyAdapter');
14 return assert_promise_rejects(requestDeviceWithKeyDown(), 14 return assert_promise_rejects(requestDeviceWithKeyDown(),
15 new TypeError()); 15 new TypeError());
16 }, 'Requires an argument.'); 16 }, 'Requires an argument.');
17 17
18 sequential_promise_test(() => { 18 promise_test(() => {
19 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 19 testRunner.setBluetoothMockDataSet('EmptyAdapter');
20 return assert_promise_rejects(requestDeviceWithKeyDown({}), 20 return assert_promise_rejects(requestDeviceWithKeyDown({}),
21 new TypeError()); 21 new TypeError());
22 }, 'RequestDeviceOptions requires a |filters| member.'); 22 }, 'RequestDeviceOptions requires a |filters| member.');
23 23
24 sequential_promise_test(() => { 24 promise_test(() => {
25 testRunner.setBluetoothMockDataSet('FailStartDiscoveryAdapter'); 25 testRunner.setBluetoothMockDataSet('FailStartDiscoveryAdapter');
26 return assert_promise_rejects_with_message( 26 return assert_promise_rejects_with_message(
27 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}), 27 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
28 {name: 'NotFoundError', message: 'Couldn\'t start discovery session.'}, 28 {name: 'NotFoundError', message: 'Couldn\'t start discovery session.'},
29 'The adapter failed to start a discovery session.'); 29 'The adapter failed to start a discovery session.');
30 }, 'Discovery session fails to start.'); 30 }, 'Discovery session fails to start.');
31 31
32 sequential_promise_test(() => { 32 promise_test(() => {
33 testRunner.setBluetoothMockDataSet('NotPresentAdapter'); 33 testRunner.setBluetoothMockDataSet('NotPresentAdapter');
34 return assert_promise_rejects_with_message( 34 return assert_promise_rejects_with_message(
35 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}), 35 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
36 {name: 'NotFoundError', message: 'Bluetooth adapter not available.'}, 36 {name: 'NotFoundError', message: 'Bluetooth adapter not available.'},
37 'Bluetooth adapter is not present.'); 37 'Bluetooth adapter is not present.');
38 }, 'Reject with NotFoundError if the adapter is not present.'); 38 }, 'Reject with NotFoundError if the adapter is not present.');
39 39
40 sequential_promise_test(() => { 40 promise_test(() => {
41 testRunner.setBluetoothMockDataSet('NotPoweredAdapter'); 41 testRunner.setBluetoothMockDataSet('NotPoweredAdapter');
42 return assert_promise_rejects_with_message( 42 return assert_promise_rejects_with_message(
43 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}), 43 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
44 {name: 'NotFoundError', message: 'Bluetooth adapter is off.'}, 44 {name: 'NotFoundError', message: 'Bluetooth adapter is off.'},
45 'Bluetooth adapter is not powered.'); 45 'Bluetooth adapter is not powered.');
46 }, 'Reject with NotFoundError if the adapter is off.'); 46 }, 'Reject with NotFoundError if the adapter is off.');
47 47
48 sequential_promise_test(() => { 48 promise_test(() => {
49 testRunner.setBluetoothMockDataSet('EmptyAdapter'); 49 testRunner.setBluetoothMockDataSet('EmptyAdapter');
50 return assert_promise_rejects_with_message( 50 return assert_promise_rejects_with_message(
51 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}), 51 requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
52 {name: 'NotFoundError', message: 'No Bluetooth devices in range.'}, 52 {name: 'NotFoundError', message: 'No Bluetooth devices in range.'},
53 'No Bluetooth devices in range.'); 53 'No Bluetooth devices in range.');
54 }, 'Reject with NotFoundError if there are no devices around.'); 54 }, 'Reject with NotFoundError if there are no devices around.');
55 55
56 sequential_promise_test(() => { 56 promise_test(() => {
57 testRunner.setBluetoothMockDataSet('GenericAccessAdapter'); 57 testRunner.setBluetoothMockDataSet('GenericAccessAdapter');
58 return Promise.all([ 58 return Promise.all([
59 requestDeviceWithKeyDown({filters: [{services: [generic_access.alias]}]}), 59 requestDeviceWithKeyDown({filters: [{services: [generic_access.alias]}]}),
60 requestDeviceWithKeyDown({filters: [{services: [generic_access.name]}]}), 60 requestDeviceWithKeyDown({filters: [{services: [generic_access.name]}]}),
61 requestDeviceWithKeyDown({filters: [{services: [generic_access.uuid]}]}) 61 requestDeviceWithKeyDown({filters: [{services: [generic_access.uuid]}]})
62 ]).then(devices => { 62 ]).then(devices => {
63 devices.forEach(device => { 63 devices.forEach(device => {
64 assert_equals(device.constructor.name, 'BluetoothDevice'); 64 assert_equals(device.constructor.name, 'BluetoothDevice');
65 }); 65 });
66 }); 66 });
67 }, 'Mock will resolve.'); 67 }, 'Mock will resolve.');
68 68
69 sequential_promise_test(() => { 69 promise_test(() => {
70 testRunner.setBluetoothMockDataSet('GenericAccessAdapter'); 70 testRunner.setBluetoothMockDataSet('GenericAccessAdapter');
71 return assert_promise_rejects( 71 return assert_promise_rejects(
72 navigator.bluetooth.requestDevice({filters: [{services: ['generic_access']}] }), 72 navigator.bluetooth.requestDevice({filters: [{services: ['generic_access']}] }),
73 'SecurityError'); 73 'SecurityError');
74 }, 'Requires a user gesture.'); 74 }, 'Requires a user gesture.');
75 75
76 sequential_promise_test(() => { 76 promise_test(() => {
77 testRunner.setBluetoothMockDataSet('GenericAccessAdapter'); 77 testRunner.setBluetoothMockDataSet('GenericAccessAdapter');
78 return callWithKeyDown(() => { 78 return callWithKeyDown(() => {
79 var first = navigator.bluetooth.requestDevice({filters: [{services: ['generi c_access']}]}); 79 var first = navigator.bluetooth.requestDevice({filters: [{services: ['generi c_access']}]});
80 var second = navigator.bluetooth.requestDevice({filters: [{services: ['gener ic_access']}]}); 80 var second = navigator.bluetooth.requestDevice({filters: [{services: ['gener ic_access']}]});
81 return Promise.all([ 81 return Promise.all([
82 first.then(device => assert_equals(device.constructor.name, 'BluetoothDevi ce')), 82 first.then(device => assert_equals(device.constructor.name, 'BluetoothDevi ce')),
83 assert_promise_rejects(second, 'SecurityError'), 83 assert_promise_rejects(second, 'SecurityError'),
84 ]); 84 ]);
85 }); 85 });
86 }, 'Consumes a user gesture.'); 86 }, 'Consumes a user gesture.');
87 87
88 sequential_promise_test(() => { 88 promise_test(() => {
89 testRunner.setBluetoothMockDataSet('GenericAccessAdapter'); 89 testRunner.setBluetoothMockDataSet('GenericAccessAdapter');
90 return Promise.all([ 90 return Promise.all([
91 requestDeviceWithKeyDown({filters: [{services: [generic_access.alias]}]}), 91 requestDeviceWithKeyDown({filters: [{services: [generic_access.alias]}]}),
92 requestDeviceWithKeyDown({filters: [{services: [generic_access.name]}]}), 92 requestDeviceWithKeyDown({filters: [{services: [generic_access.name]}]}),
93 requestDeviceWithKeyDown({filters: [{services: [generic_access.uuid]}]}) 93 requestDeviceWithKeyDown({filters: [{services: [generic_access.uuid]}]})
94 ]).then(devices => { 94 ]).then(devices => {
95 // requestDevice should return the same object if it was created 95 // requestDevice should return the same object if it was created
96 // earlier. https://crbug.com/495270 96 // earlier. https://crbug.com/495270
97 // TODO(ortuno): Change to assert_equals. 97 // TODO(ortuno): Change to assert_equals.
98 assert_not_equals(devices[0], devices[1]); 98 assert_not_equals(devices[0], devices[1]);
99 assert_not_equals(devices[1], devices[2]); 99 assert_not_equals(devices[1], devices[2]);
100 }); 100 });
101 }, 'Returned device should always be the same.'); 101 }, 'Returned device should always be the same.');
102 102
103 sequential_promise_test(() => { 103 promise_test(() => {
104 testRunner.setBluetoothMockDataSet('ScanFilterCheckingAdapter'); 104 testRunner.setBluetoothMockDataSet('ScanFilterCheckingAdapter');
105 // The work of this test is done in the ScanFilterCheckingAdapter. It asserts 105 // The work of this test is done in the ScanFilterCheckingAdapter. It asserts
106 // that this requestDevice() call tells the platform to scan for only devices 106 // that this requestDevice() call tells the platform to scan for only devices
107 // that include the Battery, Glucose, or Heart Rate services. 107 // that include the Battery, Glucose, or Heart Rate services.
108 return requestDeviceWithKeyDown({ 108 return requestDeviceWithKeyDown({
109 filters: [ 109 filters: [
110 {services: ['battery_service']}, 110 {services: ['battery_service']},
111 {services: ['glucose', 'heart_rate']} 111 {services: ['glucose', 'heart_rate']}
112 ], 112 ],
113 // The optionalServices shouldn't affect the platform's scan. 113 // The optionalServices shouldn't affect the platform's scan.
114 optionalServices: [generic_access.name] 114 optionalServices: [generic_access.name]
115 }); 115 });
116 }, 'Filters restrict the platform\'s Bluetooth scan.'); 116 }, 'Filters restrict the platform\'s Bluetooth scan.');
117 117
118 sequential_promise_test(() => { 118 promise_test(() => {
119 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter'); 119 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
120 return requestDeviceWithKeyDown({filters: [{services: ['glucose']}]}) 120 return requestDeviceWithKeyDown({filters: [{services: ['glucose']}]})
121 .then(device => assert_equals(device.name, 'Glucose Device')); 121 .then(device => assert_equals(device.name, 'Glucose Device'));
122 }, 'Simple filter selects matching device.'); 122 }, 'Simple filter selects matching device.');
123 123
124 sequential_promise_test(() => { 124 promise_test(() => {
125 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter'); 125 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
126 return requestDeviceWithKeyDown({ 126 return requestDeviceWithKeyDown({
127 filters: [{services: ['generic_access', 'heart_rate']}] 127 filters: [{services: ['generic_access', 'heart_rate']}]
128 }).then(device => assert_equals(device.name, 'Heart Rate Device')); 128 }).then(device => assert_equals(device.name, 'Heart Rate Device'));
129 }, 'Filter with 2 services returns a matching device.'); 129 }, 'Filter with 2 services returns a matching device.');
130 130
131 sequential_promise_test(() => { 131 promise_test(() => {
132 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter'); 132 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
133 return requestDeviceWithKeyDown({ 133 return requestDeviceWithKeyDown({
134 filters: [{services: ['battery_service']}, 134 filters: [{services: ['battery_service']},
135 {services: ['heart_rate']}] 135 {services: ['heart_rate']}]
136 }).then(device => assert_equals(device.name, 'Heart Rate Device')); 136 }).then(device => assert_equals(device.name, 'Heart Rate Device'));
137 }, 'An extra filter doesn\'t prevent matching.'); 137 }, 'An extra filter doesn\'t prevent matching.');
138 138
139 sequential_promise_test(() => { 139 promise_test(() => {
140 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter'); 140 testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
141 // Both devices support the Generic Access service, but things need to 141 // Both devices support the Generic Access service, but things need to
142 // support both services to pass the filter, and neither has a Battery 142 // support both services to pass the filter, and neither has a Battery
143 // service. 143 // service.
144 return assert_promise_rejects(requestDeviceWithKeyDown({ 144 return assert_promise_rejects(requestDeviceWithKeyDown({
145 filters: [{services: ['generic_access', 'battery_service']}] 145 filters: [{services: ['generic_access', 'battery_service']}]
146 }), 'NotFoundError'); 146 }), 'NotFoundError');
147 }, 'Too-strict filters do prevent matching.'); 147 }, 'Too-strict filters do prevent matching.');
148 </script> 148 </script>
OLDNEW
« no previous file with comments | « LayoutTests/bluetooth/readValue.html ('k') | LayoutTests/bluetooth/writeValue.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698