| // META: script=/resources/testharness.js |
| // META: script=/resources/testharnessreport.js |
| // 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); |