<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/bluetooth/bluetooth-helpers.js"></script>
<script src="../../../resources/bluetooth/web-bluetooth-test.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script>
'use strict';
promise_test(() => {
  return getHIDDevice({filters: [{services: ['device_information']}]})
    .then(({device}) => device.gatt.getPrimaryService('device_information'))
    .then(service => assert_promise_rejects_with_message(
      service.getCharacteristics(),
      new DOMException('No Characteristics found in service.',
                       'NotFoundError')));
}, 'The Device Information service is composed of blocklisted ' +
   'characteristics so we shouldn\'t find any.');
</script>
