summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js')
-rw-r--r--testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js b/testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js
new file mode 100644
index 0000000000..c715926df3
--- /dev/null
+++ b/testing/web-platform/tests/bluetooth/idl/idl-BluetoothDevice.https.window.js
@@ -0,0 +1,37 @@
+// 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_idl = 'BluetoothDevice IDL test.';
+
+test(() => {
+ assert_throws_js(
+ TypeError, () => new BluetoothDevice(),
+ 'the constructor should not be callable with "new"');
+ assert_throws_js(
+ TypeError, () => BluetoothDevice(),
+ 'the constructor should not be callable');
+}, test_desc_idl);
+
+const test_desc_attr = 'BluetoothDevice attributes.';
+let device;
+
+bluetooth_test(async () => {
+ let {device} = await getConnectedHealthThermometerDevice();
+
+ assert_equals(device.constructor.name, 'BluetoothDevice');
+ var old_device_id = device.id;
+ assert_throws_js(
+ TypeError, () => device.id = 'overwritten',
+ 'the device id should not be writable');
+ assert_throws_js(
+ TypeError, () => device.name = 'overwritten',
+ 'the device name should not be writable');
+ assert_throws_js(
+ TypeError, () => device.watchingAdvertisements = true,
+ 'the device watchingAdvertisements should not be writable');
+ assert_equals(device.id, old_device_id);
+ assert_equals(device.name, 'Health Thermometer');
+ assert_equals(device.watchingAdvertisements, false);
+}, test_desc_attr);