1 // META: script=/resources/test-only-api.js
2 // META: script=/webusb/resources/fake-devices.js
3 // META: script=/webusb/resources/usb-helpers.js
7 let { device } = await getFakeDevice();
8 let configuration = new USBConfiguration(
9 device, device.configurations[1].configurationValue);
10 let usbInterface = new USBInterface(
11 configuration, configuration.interfaces[0].interfaceNumber);
12 let alternateInterface = new USBAlternateInterface(
13 usbInterface, usbInterface.alternates[1].alternateSetting);
14 let inEndpoint = new USBEndpoint(
15 alternateInterface, alternateInterface.endpoints[0].endpointNumber, 'in');
16 let outEndpoint = new USBEndpoint(
18 alternateInterface.endpoints[1].endpointNumber,
20 assertDeviceInfoEquals(
22 fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
24 assertDeviceInfoEquals(
26 fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
28 }, 'Can construct a USBEndpoint.');
30 usb_test(async () => {
31 let { device } = await getFakeDevice();
32 let configuration = new USBConfiguration(
33 device, device.configurations[1].configurationValue);
34 let usbInterface = new USBInterface(
35 configuration, configuration.interfaces[0].interfaceNumber);
36 let alternateInterface = new USBAlternateInterface(
37 usbInterface, usbInterface.alternates[1].alternateSetting);
39 let endpoint = new USBEndpoint(
40 alternateInterface, alternateInterface.endpoints.length, 'in');
41 assert_unreached('USBEndpoint should reject an invalid endpoint number');
43 assert_equals(error.name, 'RangeError');
45 }, 'Constructing a USBEndpoint with an invalid endpoint number throws a ' +