| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="/bluetooth/resources/bluetooth-test.js"></script> |
| <script src="/bluetooth/resources/bluetooth-fake-devices.js"></script> |
| <script> |
| 'use strict'; |
| const test_desc = 'Find all services in a device.'; |
| |
| bluetooth_test(() => 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'))); |
| }), test_desc); |
| </script> |