blob: 4b81e936c07a3e5f84d88b01357e2388c413bf84 [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';
bluetooth_test(t => {
return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
.then(() => requestDeviceWithKeyDown({
filters: [{services: ['health_thermometer']}],
optionalServices: [request_disconnection_service_uuid]
}))
.then(device => {
return device.gatt.connect()
.then(gattServer => gattServer.connect())
.then(gattServer => get_request_disconnection(gattServer))
.then(requestDisconnection => {
// This promise hangs unless gattserverdisconnected is fired.
let disconnected = eventPromise(device, 'gattserverdisconnected');
return Promise.all([requestDisconnection(),
disconnected]);
})
.then(([, disconnected]) => assert_true(disconnected.bubbles));
});
}, 'A device disconnecting after connected twice should fire the gattserverdisconnected event.');
</script>