| <!DOCTYPE html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> |
| <script> |
| 'use strict'; |
| promise_test( |
| () => { |
| return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter') |
| .then( |
| () => requestDeviceWithKeyDown( |
| {filters: [{services: ['health_thermometer']}]})) |
| .then(device => device.gatt.connect()) |
| .then( |
| gattServer => |
| gattServer.getPrimaryService('health_thermometer')) |
| .then(service => service.getCharacteristic('measurement_interval')) |
| .then( |
| characteristic => characteristic.getDescriptor( |
| 'bad3ec61-3cc3-4954-9702-7977df514114')) |
| .then(descriptor => { |
| return assert_promise_rejects_with_message( |
| descriptor.readValue(), |
| new DOMException( |
| 'readValue() called on blocklisted object marked exclude-reads. ' + |
| 'https://goo.gl/4NeimX', |
| 'SecurityError')); |
| })}, |
| 'Attempt to call readValue on a blocked descriptor must generate a SecurityError'); |
| |
| </script> |