write-succeeds.https.window.js (1840B)
1 // META: script=/resources/testdriver.js?feature=bidi 2 // META: script=/resources/testdriver-vendor.js 3 // META: script=/bluetooth/resources/bluetooth-test.js 4 // META: script=/bluetooth/resources/bluetooth-fake-devices.js 5 // META: timeout=long 6 'use strict'; 7 const test_desc = 'A regular write request to a writable characteristic ' + 8 'should succeed.'; 9 10 bluetooth_bidi_test(async () => { 11 const {characteristic, fake_characteristic} = 12 await getMeasurementIntervalCharacteristic(); 13 14 let lastValue, lastWriteType; 15 ({lastValue, lastWriteType} = 16 await fake_characteristic.getLastWrittenValue()); 17 assert_equals(lastValue, null); 18 assert_equals(lastWriteType, 'none'); 19 20 await fake_characteristic.setNextWriteResponse(GATT_SUCCESS); 21 22 const typed_array = Uint8Array.of(1, 2); 23 await characteristic.writeValueWithResponse(typed_array); 24 ({lastValue, lastWriteType} = 25 await fake_characteristic.getLastWrittenValue()); 26 assert_array_equals(lastValue, [1, 2]); 27 assert_equals(lastWriteType, 'write-with-response'); 28 29 await fake_characteristic.setNextWriteResponse(GATT_SUCCESS); 30 31 const array_buffer = Uint8Array.of(3, 4).buffer; 32 await characteristic.writeValueWithResponse(array_buffer); 33 ({lastValue, lastWriteType} = 34 await fake_characteristic.getLastWrittenValue()); 35 assert_array_equals(lastValue, [3, 4]); 36 assert_equals(lastWriteType, 'write-with-response'); 37 38 await fake_characteristic.setNextWriteResponse(GATT_SUCCESS); 39 40 const data_view = new DataView(new ArrayBuffer(2)); 41 data_view.setUint8(0, 5); 42 data_view.setUint8(1, 6); 43 await characteristic.writeValueWithResponse(data_view); 44 ({lastValue, lastWriteType} = 45 await fake_characteristic.getLastWrittenValue()); 46 assert_array_equals(lastValue, [5, 6]); 47 assert_equals(lastWriteType, 'write-with-response'); 48 }, test_desc);