Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor-invalid-name.js |
| diff --git a/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor-invalid-name.js b/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor-invalid-name.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..09c32450908daf9d0c3ae712f55369ba75308ba3 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor-invalid-name.js |
| @@ -0,0 +1,35 @@ |
| +'use strict'; |
| +promise_test(() => { |
| + let promise; |
| + 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')) |
| + |
|
ortuno
2016/12/02 06:14:50
nit: remote blank line.
dougt
2016/12/02 18:31:28
Done.
|
| + .then(characteristic => { |
| + promise = assert_promise_rejects_with_message( |
|
ortuno
2016/12/02 06:14:50
You can just return the promise. No need to save i
dougt
2016/12/02 18:31:28
Done.
|
| + characteristic.CALLS([ |
| + getDescriptor('invalid-name')| |
| + getDescriptors('invalid-name')]), |
| + new DOMException( |
| + 'Failed to execute \'FUNCTION_NAME\' on ' + |
| + '\'BluetoothRemoteGATTCharacteristic\': Invalid Descriptor name: ' + |
| + '\'invalid-name\'. ' + |
| + 'It must be a valid UUID alias (e.g. 0x1234), ' + |
| + 'UUID (lowercase hex characters e.g. ' + |
| + '\'00001234-0000-1000-8000-00805f9b34fb\'), ' + |
| + 'or recognized standard name from ' + |
| + 'https://developer.bluetooth.org/gatt/descriptors/' + |
| + 'Pages/DescriptorsHomePage.aspx' + |
| + ' e.g. \'gatt.characteristic_presentation_format\'.', |
| + 'TypeError')); |
| + // Disconnect called to clear attributeInstanceMap and allow the |
| + // object to get garbage collected. |
| + characteristic.service.device.gatt.disconnect(); |
|
ortuno
2016/12/02 06:14:50
No need to disconnect.
dougt
2016/12/02 18:31:28
Done.
|
| + }) |
| + .then(runGarbageCollection) |
| + .then(() => promise); |
| +}, 'Garbage Collection ran during a FUNCTION_NAME call that succeeds. ' + |
| + 'Should not crash.'); |