blob: 92ebe86abb131da375be6961a951a9b67fa3e9ab [file] [log] [blame]
<!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';
var device;
var server;
var numEvents = 0;
bluetooth_test(() => {
return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
.then(() => requestDeviceWithKeyDown({
filters: [{services: ['health_thermometer']}],
optionalServices: [request_disconnection_service_uuid]
}))
.then(requestedDevice => {
device = requestedDevice;
return device.gatt.connect();
})
.then(gattServer => {
server = gattServer;
return get_request_disconnection(gattServer);
})
.then(requestDisconnection => {
let eventCounter = () => { ++numEvents; };
device.addEventListener('gattserverdisconnected', eventCounter);
return Promise.all([requestDisconnection(), server.disconnect()]);
})
.then(() => assert_equals(numEvents, 1));
}, 'A device disconnects while the platform is disconnecting that device, ' +
'only one gattserverdisconnected event should fire.');
</script>