summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices')
-rw-r--r--testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-empty-name.https.window.js19
-rw-r--r--testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/device-with-name.https.window.js20
-rw-r--r--testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-missing.https.window.js21
-rw-r--r--testing/web-platform/tests/bluetooth/requestDevice/acceptAllDevices/optional-services-present.https.window.js25
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);