Bug 1539614 [wpt PR 16077] - HTML: move textarea tests together, a=testonly
[gecko.git] / testing / web-platform / tests / webusb / usbEndpoint.https.any.js
blobe57639c3d4b9e40606978fbb17bf9d604e65337b
1 // META: script=/webusb/resources/fake-devices.js
2 // META: script=/webusb/resources/usb-helpers.js
3 'use strict';
5 usb_test(async () => {
6   let { device } = await getFakeDevice();
7   let configuration = new USBConfiguration(
8       device, device.configurations[1].configurationValue);
9   let usbInterface = new USBInterface(
10       configuration, configuration.interfaces[0].interfaceNumber);
11   let alternateInterface = new USBAlternateInterface(
12       usbInterface, usbInterface.alternates[1].alternateSetting);
13   let inEndpoint = new USBEndpoint(
14       alternateInterface, alternateInterface.endpoints[0].endpointNumber, 'in');
15   let outEndpoint = new USBEndpoint(
16       alternateInterface,
17       alternateInterface.endpoints[1].endpointNumber,
18       'out');
19   assertDeviceInfoEquals(
20       inEndpoint,
21       fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
22           .endpoints[0]);
23   assertDeviceInfoEquals(
24       outEndpoint,
25       fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
26           .endpoints[1]);
27 }, 'Can construct a USBEndpoint.');
29 usb_test(async () => {
30   let { device } = await getFakeDevice();
31   let configuration = new USBConfiguration(
32       device, device.configurations[1].configurationValue);
33   let usbInterface = new USBInterface(
34       configuration, configuration.interfaces[0].interfaceNumber);
35   let alternateInterface = new USBAlternateInterface(
36       usbInterface, usbInterface.alternates[1].alternateSetting);
37   try {
38     let endpoint = new USBEndpoint(
39         alternateInterface, alternateInterface.endpoints.length, 'in');
40     assert_unreached('USBEndpoint should reject an invalid endpoint number');
41   } catch (error) {
42     assert_equals(error.name, 'RangeError');
43   }
44 }, 'Constructing a USBEndpoint with an invalid endpoint number  throws a ' +
45     'range error.');