mirror of
https://github.com/servo/servo.git
synced 2025-07-03 13:33:39 +01:00
41 lines
1.7 KiB
HTML
41 lines
1.7 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 = 'A regular write request to a writable characteristic ' +
|
|
'should succeed.';
|
|
let typed_array = Uint8Array.of(1, 2);
|
|
let array_buffer = Uint8Array.of(3, 4).buffer;
|
|
let data_view = new DataView(new ArrayBuffer(2));
|
|
let characteristic, fake_characteristic;
|
|
|
|
bluetooth_test(() => getMeasurementIntervalCharacteristic()
|
|
.then(_ => ({characteristic, fake_characteristic} = _))
|
|
.then(() => new Promise(resolve => {
|
|
data_view.setUint8(0, 5);
|
|
data_view.setUint8(1, 6);
|
|
resolve();
|
|
}))
|
|
.then(() => fake_characteristic.getLastWrittenValue())
|
|
.then(last_value => assert_true(last_value === null))
|
|
|
|
.then(() => fake_characteristic.setNextWriteResponse(GATT_SUCCESS))
|
|
.then(() => characteristic.writeValue(typed_array))
|
|
.then(() => fake_characteristic.getLastWrittenValue())
|
|
.then(last_value => assert_array_equals(last_value, [1, 2]))
|
|
|
|
.then(() => fake_characteristic.setNextWriteResponse(GATT_SUCCESS))
|
|
.then(() => characteristic.writeValue(array_buffer))
|
|
.then(() => fake_characteristic.getLastWrittenValue())
|
|
.then(last_value => assert_array_equals(last_value, [3, 4]))
|
|
|
|
.then(() => fake_characteristic.setNextWriteResponse(GATT_SUCCESS))
|
|
.then(() => characteristic.writeValue(data_view))
|
|
.then(() => fake_characteristic.getLastWrittenValue())
|
|
.then(last_value => assert_array_equals(last_value, [5, 6])),
|
|
test_desc);
|
|
</script>
|