| <!DOCTYPE html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> |
| <script> |
| 'use strict'; |
| bluetooth_test(() => { |
| return getMeasurementIntervalCharacteristic() |
| .then(({characteristic, fake_characteristic}) => { |
| return fake_characteristic.setNextReadResponse(GATT_SUCCESS, [0,1,2]) |
| .then(() => assert_promise_resolves_after_event( |
| characteristic, |
| 'readValue', |
| 'characteristicvaluechanged', |
| 3 /* attach 3 listeners */)); |
| }).then(results => { |
| let read_value = new Uint8Array(results[0].buffer); |
| let event_values = results.slice(1).map(v => new Uint8Array(v.buffer)); |
| for (let event_value of event_values) { |
| assert_equals(event_value.buffer, read_value.buffer); |
| assert_array_equals(event_value, read_value); |
| } |
| }); |
| }, 'Add multiple event listeners then readValue().'); |
| </script> |