1 // META: script=/webusb/resources/fake-devices.js
2 // META: script=/webusb/resources/usb-helpers.js
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(
17 alternateInterface.endpoints[1].endpointNumber,
19 assertDeviceInfoEquals(
21 fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
23 assertDeviceInfoEquals(
25 fakeDeviceInit.configurations[1].interfaces[0].alternates[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);
38 let endpoint = new USBEndpoint(
39 alternateInterface, alternateInterface.endpoints.length, 'in');
40 assert_unreached('USBEndpoint should reject an invalid endpoint number');
42 assert_equals(error.name, 'RangeError');
44 }, 'Constructing a USBEndpoint with an invalid endpoint number throws a ' +