| <!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(function() { |
| return getTwoHealthThermometerServicesDevice({ |
| filters: [{services: ['health_thermometer']}], |
| optionalServices: ['generic_access']}) |
| .then(({device}) => device.gatt.getPrimaryServices()) |
| .then(services => { |
| // Expect three service instances. |
| assert_equals(services.length, 3); |
| services.forEach(s => assert_true(s.isPrimary)); |
| |
| let uuid_set = new Set(services.map(s => s.uuid)); |
| // Two of the expected services are 'health_thermometer', so |
| // only 2 unique UUIDs. |
| assert_equals(uuid_set.size, 2); |
| |
| assert_true(uuid_set.has(BluetoothUUID.getService('generic_access'))); |
| assert_true(uuid_set.has(BluetoothUUID.getService('health_thermometer'))); |
| }); |
| }, 'Find all services in a device.'); |
| </script> |