28 lines
1 KiB
JavaScript
28 lines
1 KiB
JavaScript
'use strict';
|
|
|
|
test(t => {
|
|
let data_view = new DataView(Uint8Array.from([1, 2, 3, 4]).buffer);
|
|
let packet = new USBIsochronousInTransferPacket('ok', data_view);
|
|
assert_equals(packet.status, 'ok');
|
|
assert_equals(packet.data.getInt32(0), 16909060);
|
|
}, 'Can construct a USBIsochronousInTransferPacket');
|
|
|
|
test(t => {
|
|
let packet = new USBIsochronousInTransferPacket('stall');
|
|
assert_equals(packet.status, 'stall');
|
|
assert_equals(packet.data, null);
|
|
|
|
packet = new USBIsochronousInTransferPacket('stall', null);
|
|
assert_equals(packet.status, 'stall');
|
|
assert_equals(packet.data, null);
|
|
}, 'Can construct a USBIsochronousInTransferPacket without a DataView');
|
|
|
|
test(t => {
|
|
assert_throws_js(TypeError, () => {
|
|
new USBIsochronousInTransferPacket('invalid_status');
|
|
});
|
|
}, 'Cannot construct USBIsochronousInTransferPacket with an invalid status');
|
|
|
|
test(t => {
|
|
assert_throws_js(TypeError, () => new USBIsochronousInTransferPacket());
|
|
}, 'Cannot construct USBIsochronousInTransferPacket without a status');
|