18 lines
676 B
JavaScript
18 lines
676 B
JavaScript
// Compare two DataViews byte-by-byte.
|
|
function compareDataViews(actual, expected) {
|
|
assert_true(actual instanceof DataView, 'actual is DataView');
|
|
assert_true(expected instanceof DataView, 'expected is DataView');
|
|
assert_equals(actual.byteLength, expected.byteLength, 'lengths equal');
|
|
for (let i = 0; i < expected.byteLength; ++i) {
|
|
assert_equals(
|
|
actual.getUint8(i), expected.getUint8(i), `Mismatch at byte ${i}.`);
|
|
}
|
|
}
|
|
|
|
// Returns a Promise that resolves once |device| receives an input report.
|
|
function oninputreport(device) {
|
|
assert_true(device instanceof HIDDevice);
|
|
return new Promise(resolve => {
|
|
device.oninputreport = resolve;
|
|
});
|
|
}
|