blob: 788994f291a42c5869a9060a18fa6daa19a38b5d [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 src="../../../resources/bluetooth/web-bluetooth-test.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script>
'use strict';
promise_test(() => {
return getDiscoveredHealthThermometerDevice()
.then(({device, fake_peripheral}) => {
// Setup a device with two measurement intervals.
return fake_peripheral.setNextGATTConnectionResponse({
code: HCI_SUCCESS})
.then(() => device.gatt.connect())
.then(() => fake_peripheral.addFakeService({
uuid: 'health_thermometer'}))
.then(fake_health_thermometer => Promise.all([
fake_health_thermometer.addFakeCharacteristic({
uuid: 'measurement_interval',
properties: ['read', 'write', 'indicate']}),
fake_health_thermometer.addFakeCharacteristic({
uuid: 'measurement_interval',
properties: ['read', 'write', 'indicate']}),
fake_health_thermometer.addFakeCharacteristic({
uuid: 'temperature_measurement',
properties: ['indicate']})
]))
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({
code: HCI_SUCCESS}))
.then(() => device.gatt.getPrimaryService('health_thermometer'))
// Actual test starts.
.then((service) => Promise.all([
service.getCharacteristics(measurement_interval.alias),
service.getCharacteristics(measurement_interval.name),
service.getCharacteristics(measurement_interval.uuid)]))
.then(characteristics_arrays => {
characteristics_arrays.forEach(characteristics => {
assert_equals(characteristics.length, 2);
assert_equals(characteristics[0].uuid,
measurement_interval.uuid);
assert_equals(characteristics[1].uuid,
measurement_interval.uuid);
});
});
});
}, 'Find characteristics with UUID in service.');
</script>