servo/tests/wpt/web-platform-tests/bluetooth/characteristic/readValue/event-is-fired.https.html

27 lines
1.1 KiB
HTML

<!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-helpers.js"></script>
<script>
'use strict';
const test_desc = 'Reading a characteristic should fire an event.';
let characteristic, fake_characteristic;
bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_characteristic} = _))
.then(() => fake_characteristic.setNextReadResponse(
GATT_SUCCESS, [0, 1, 2]))
.then(() => assert_promise_resolves_after_event(
characteristic,
'readValue',
'characteristicvaluechanged'))
.then(results => new Promise(resolve => {
let read_value = new Uint8Array(results[0].buffer);
let event_value = new Uint8Array(results[1].buffer);
assert_equals(event_value.buffer, read_value.buffer);
assert_array_equals(event_value, read_value);
resolve();
})), test_desc);
</script>