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

Unified Diff: third_party/WebKit/LayoutTests/bluetooth/requestDevice.html

Issue 1815483003: bluetooth: Create Mojo equivalent of SetBluetoothMockDataSet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-mojo
Patch Set: MMerge with ToT Created 4 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/bluetooth/requestDevice.html
diff --git a/third_party/WebKit/LayoutTests/bluetooth/requestDevice.html b/third_party/WebKit/LayoutTests/bluetooth/requestDevice.html
index 243d422b9a6f8b28ed36f01203f6431517503777..0f0456bb20bac55474138c61656a562a914f87eb 100644
--- a/third_party/WebKit/LayoutTests/bluetooth/requestDevice.html
+++ b/third_party/WebKit/LayoutTests/bluetooth/requestDevice.html
@@ -10,10 +10,11 @@ test(t => { assert_true(window.testRunner instanceof Object); t.done(); },
'window.testRunner is required for the following tests.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('FailStartDiscoveryAdapter');
- testRunner.setBluetoothManualChooser();
+ testRunner.setBluetoothManualChooser(true);
let requestDevicePromise =
- requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]});
+ setBluetoothFakeAdapter('FailStartDiscoveryAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['generic_access']}]}));
return getBluetoothManualChooserEvents(3)
.then(events => {
assert_array_equals(events,
@@ -31,18 +32,19 @@ promise_test(() => {
}, 'Discovery session fails to start.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('NotPresentAdapter');
- return assert_promise_rejects_with_message(
- requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
- new DOMException('Bluetooth adapter not available.', 'NotFoundError'),
- 'Bluetooth adapter is not present.');
+ return setBluetoothFakeAdapter('NotPresentAdapter')
+ .then(() => assert_promise_rejects_with_message(
+ requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
+ new DOMException('Bluetooth adapter not available.', 'NotFoundError'),
+ 'Bluetooth adapter is not present.'));
}, 'Reject with NotFoundError if the adapter is not present.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('NotPoweredAdapter');
- testRunner.setBluetoothManualChooser();
+ testRunner.setBluetoothManualChooser(true);
let requestDevicePromise =
- requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]});
+ setBluetoothFakeAdapter('NotPoweredAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['generic_access']}]}));
return getBluetoothManualChooserEvents(2)
.then(events => {
assert_array_equals(events,
@@ -59,21 +61,21 @@ promise_test(() => {
}, 'Reject with NotFoundError if the adapter is off.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('EmptyAdapter');
- return assert_promise_rejects_with_message(
- requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
- new DOMException('User cancelled the requestDevice() chooser.',
- 'NotFoundError'),
- 'No Bluetooth devices in range.');
+ return setBluetoothFakeAdapter('EmptyAdapter')
+ .then(() => assert_promise_rejects_with_message(
+ requestDeviceWithKeyDown({filters: [{services: ['generic_access']}]}),
+ new DOMException('User cancelled the requestDevice() chooser.',
+ 'NotFoundError'),
+ 'No Bluetooth devices in range.'));
}, 'Reject with NotFoundError if there are no devices around.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('HeartRateAdapter');
- return Promise.all([
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.alias]}]}),
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.name]}]}),
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.uuid]}]})
- ]).then(devices => {
+ return setBluetoothFakeAdapter('HeartRateAdapter')
+ .then(() => Promise.all([
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.alias]}]}),
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.name]}]}),
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.uuid]}]})
+ ])).then(devices => {
devices.forEach(device => {
assert_equals(device.constructor.name, 'BluetoothDevice');
});
@@ -81,31 +83,35 @@ promise_test(() => {
}, 'Mock will resolve.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('HeartRateAdapter');
- return assert_promise_rejects(
- navigator.bluetooth.requestDevice({filters: [{services: ['heart_rate']}]}),
- new DOMException('', 'SecurityError'));
+ return setBluetoothFakeAdapter('HeartRateAdapter')
+ .then(() => assert_promise_rejects(
+ navigator.bluetooth.requestDevice({
+ filters: [{services: ['heart_rate']}]}),
+ new DOMException('', 'SecurityError')));
}, 'Requires a user gesture.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('HeartRateAdapter');
- return callWithKeyDown(() => {
- var first = navigator.bluetooth.requestDevice({filters: [{services: ['heart_rate']}]});
- var second = navigator.bluetooth.requestDevice({filters: [{services: ['heart_rate']}]});
- return Promise.all([
- first.then(device => assert_equals(device.constructor.name, 'BluetoothDevice')),
- assert_promise_rejects(second, new DOMException('', 'SecurityError')),
- ]);
- });
+ return setBluetoothFakeAdapter('HeartRateAdapter')
+ .then(() => callWithKeyDown(() => {
+ var first = navigator.bluetooth.requestDevice({
+ filters: [{services: ['heart_rate']}]});
+ var second = navigator.bluetooth.requestDevice({
+ filters: [{services: ['heart_rate']}]});
+ return Promise.all([
+ first.then(device => assert_equals(
+ device.constructor.name, 'BluetoothDevice')),
+ assert_promise_rejects(second, new DOMException('', 'SecurityError')),
+ ]);
+ }));
}, 'Consumes a user gesture.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('HeartRateAdapter');
- return Promise.all([
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.alias]}]}),
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.name]}]}),
- requestDeviceWithKeyDown({filters: [{services: [heart_rate.uuid]}]})
- ]).then(devices => {
+ return setBluetoothFakeAdapter('HeartRateAdapter')
+ .then(() => Promise.all([
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.alias]}]}),
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.name]}]}),
+ requestDeviceWithKeyDown({filters: [{services: [heart_rate.uuid]}]})
+ ])).then(devices => {
// requestDevice should return the same object if it was created
// earlier. https://crbug.com/495270
// TODO(ortuno): Change to assert_equals.
@@ -115,27 +121,26 @@ promise_test(() => {
}, 'Returned device should always be the same.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('ScanFilterCheckingAdapter');
// The work of this test is done in the ScanFilterCheckingAdapter. It asserts
// that this requestDevice() call tells the platform to scan for only devices
// that include the Battery, Glucose, or Heart Rate services.
- return requestDeviceWithKeyDown({
- filters: [
- {services: ['battery_service']},
- {services: ['glucose', 'heart_rate']}
- ],
- // The optionalServices shouldn't affect the platform's scan.
- optionalServices: ['generic_access']
- });
+ return setBluetoothFakeAdapter('ScanFilterCheckingAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['battery_service']},
+ {services: ['glucose', 'heart_rate']}],
+ // The optionalServices shouldn't affect the platform's scan.
+ optionalServices: ['generic_access']
+ }));
}, 'Filters restrict the platform\'s Bluetooth scan.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
- testRunner.setBluetoothManualChooser();
- let requestDevicePromise = requestDeviceWithKeyDown({
- filters: [{services: ['glucose']},
- {services: ['heart_rate']}]
- });
+ testRunner.setBluetoothManualChooser(true);
+ let requestDevicePromise =
+ setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['glucose']},
+ {services: ['heart_rate']}]
+ }));
return getBluetoothManualChooserEvents(5)
.then(events => {
assert_equals(events.length, 5, events);
@@ -155,30 +160,32 @@ promise_test(() => {
}, 'The chooser includes all devices.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
- return requestDeviceWithKeyDown({filters: [{services: ['glucose']}]})
+ return setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['glucose']}]}))
.then(device => assert_equals(device.name, 'Glucose Device'));
}, 'Simple filter selects matching device.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
- return requestDeviceWithKeyDown({
- filters: [{services: ['glucose', 'tx_power']}]
- }).then(device => assert_equals(device.name, 'Glucose Device'));
+ return setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['glucose', 'tx_power']}]
+ })).then(device => assert_equals(device.name, 'Glucose Device'));
}, 'Filter with 2 services returns a matching device.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
- return requestDeviceWithKeyDown({
- filters: [{services: ['battery_service']},
- {services: ['heart_rate']}]
- }).then(device => assert_equals(device.name, 'Heart Rate Device'));
+ return setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['battery_service']},
+ {services: ['heart_rate']}]
+ })).then(device => assert_equals(device.name, 'Heart Rate Device'));
}, 'An extra filter doesn\'t prevent matching.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
- return requestDeviceWithKeyDown({filters: [{services: ['glucose']}],
- optionalServices: ['tx_power']})
+ return setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['glucose']}],
+ optionalServices: ['tx_power']}))
.then(device => {
assert_equals(device.uuids.length, 2);
assert_in_array(BluetoothUUID.getService('glucose'), device.uuids);
@@ -188,23 +195,25 @@ promise_test(() => {
promise_test(() => {
- testRunner.setBluetoothMockDataSet('GlucoseHeartRateAdapter');
// Both devices support the Generic Access service, but things need to
// support both services to pass the filter, and neither has a Battery
// service.
- return assert_promise_rejects(requestDeviceWithKeyDown({
+ return setBluetoothFakeAdapter('GlucoseHeartRateAdapter')
+ .then(() => assert_promise_rejects(
+ requestDeviceWithKeyDown({
filters: [{services: ['heart_rate', 'battery_service']}]
- }), new DOMException('', 'NotFoundError'));
+ }), new DOMException('', 'NotFoundError')));
}, 'Too-strict filters do prevent matching.');
promise_test(() => {
- testRunner.setBluetoothMockDataSet('SecondDiscoveryFindsHeartRateAdapter');
- testRunner.setBluetoothManualChooser();
+ testRunner.setBluetoothManualChooser(true);
// Open the chooser, looking for a Heart Rate device.
- let requestDevicePromise = requestDeviceWithKeyDown({
- filters: [{services: ['heart_rate']}]
- });
+ let requestDevicePromise =
+ setBluetoothFakeAdapter('SecondDiscoveryFindsHeartRateAdapter')
+ .then(() => requestDeviceWithKeyDown({
+ filters: [{services: ['heart_rate']}]
+ }));
// The adapter finds nothing, so we just see discovery start and stop.
return getBluetoothManualChooserEvents(3).then(events => {

Powered by Google App Engine
This is Rietveld 408576698