summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/bluetooth/characteristic/readValue/event-is-fired.https.window.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/bluetooth/characteristic/readValue/event-is-fired.https.window.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/bluetooth/characteristic/readValue/event-is-fired.https.window.js b/testing/web-platform/tests/bluetooth/characteristic/readValue/event-is-fired.https.window.js
new file mode 100644
index 0000000000..52b70e7a08
--- /dev/null
+++ b/testing/web-platform/tests/bluetooth/characteristic/readValue/event-is-fired.https.window.js
@@ -0,0 +1,23 @@
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+// META: script=/bluetooth/resources/bluetooth-test.js
+// META: script=/bluetooth/resources/bluetooth-fake-devices.js
+'use strict';
+const test_desc = 'Reading a characteristic should fire an event.';
+
+bluetooth_test(async () => {
+ const {characteristic, fake_characteristic} =
+ await getMeasurementIntervalCharacteristic();
+ await fake_characteristic.setNextReadResponse(GATT_SUCCESS, [0, 1, 2]);
+
+ // Make sure that |characteristic.readValue()| resolves after
+ // |characteristicvaluechanged| is fired.
+ const results = await assert_promise_resolves_after_event(
+ characteristic /* object */, 'readValue' /* func */,
+ 'characteristicvaluechanged' /* event */);
+
+ const read_value = new Uint8Array(results[0].buffer);
+ const event_value = new Uint8Array(results[1].buffer);
+ assert_equals(event_value.buffer, read_value.buffer);
+ assert_array_equals(event_value, read_value);
+}, test_desc);