<!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;
bluetooth_test(() => {
  return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
    .then(() => requestDeviceWithKeyDown({
      filters: [{services: ['health_thermometer']}],
      optionalServices: [request_disconnection_service_uuid]
    }))
    .then(requestedDevice => {
      device = requestedDevice;
      return Promise.all([device.gatt.connect(), device.gatt.connect()]);
    })
    .then(gattServers => get_request_disconnection(gattServers[0]))
    .then(requestDisconnection => {
      // This promise hangs unless gattserverdisconnected is fired.
      let disconnected = eventPromise(device, 'gattserverdisconnected');
      return Promise.all([requestDisconnection(), disconnected]);
    });
}, 'A device disconnecting after two consecutive connect requests should fire an event.');
</script>
