diff options
Diffstat (limited to 'testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices')
4 files changed, 85 insertions, 0 deletions
diff --git a/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-empty-name.https.window.js b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-empty-name.https.window.js new file mode 100644 index 0000000000..15bde6a933 --- /dev/null +++ b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-empty-name.https.window.js @@ -0,0 +1,19 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = 'Device with empty name and no UUIDs nearby. Should be ' + + 'found if acceptAllDevices is true.'; + +bluetooth_test(async () => { + let { device } = await setUpPreconnectedFakeDevice({ + fakeDeviceOptions: { + name: '' + }, + requestDeviceOptions: { + acceptAllDevices: true + } + }); + assert_equals(device.name, ''); +}, test_desc); diff --git a/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-name.https.window.js b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-name.https.window.js new file mode 100644 index 0000000000..f3373a6bb6 --- /dev/null +++ b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-name.https.window.js @@ -0,0 +1,20 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +const test_desc = + 'A device with name and no UUIDs nearby. Should be found if ' + + 'acceptAllDevices is true.'; +const name = 'LE Device'; + +bluetooth_test(async () => { + let { device } = await setUpPreconnectedFakeDevice({ + fakeDeviceOptions: { + name: name + }, + requestDeviceOptions: { + acceptAllDevices: true + } + }); + assert_equals(device.name, name); +}, test_desc); diff --git a/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-missing.https.window.js b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-missing.https.window.js new file mode 100644 index 0000000000..5226a645a8 --- /dev/null +++ b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-missing.https.window.js @@ -0,0 +1,21 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = 'requestDevice called with acceptAllDevices: true and ' + + 'with no optionalServices. Should not get access to any services.'; +const expected = new DOMException( + 'Origin is not allowed to access any service. ' + + 'Tip: Add the service UUID to \'optionalServices\' in ' + + 'requestDevice() options. https://goo.gl/HxfxSQ', + 'SecurityError'); + +bluetooth_test( + async () => { + let { device } = await getConnectedHealthThermometerDevice( + { acceptAllDevices: true }); + assert_promise_rejects_with_message( + device.gatt.getPrimaryServices(), expected); + }, + test_desc); diff --git a/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-present.https.window.js b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-present.https.window.js new file mode 100644 index 0000000000..7c200d03f1 --- /dev/null +++ b/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-present.https.window.js @@ -0,0 +1,25 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = 'requestDevice called with acceptAllDevices: true and with ' + + 'optionalServices. Should get access to services.'; + +bluetooth_test( + async () => { + await getTwoHealthThermometerServicesDevice() + let device = await requestDeviceWithTrustedClick({ + acceptAllDevices: true, + optionalServices: ['health_thermometer'] + }); + let gattServer = await device.gatt.connect(); + let services = await gattServer.getPrimaryServices(); + assert_equals(services.length, 2); + services.forEach(service => { + assert_equals( + service.uuid, + BluetoothUUID.getService('health_thermometer')); + }); + }, + test_desc); |