usbEndpoint.https.any.js (1869B)
1 // META: script=/resources/test-only-api.js 2 // META: script=/webusb/resources/fake-devices.js 3 // META: script=/webusb/resources/usb-helpers.js 4 'use strict'; 5 6 usb_test(async () => { 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( 17 alternateInterface, 18 alternateInterface.endpoints[1].endpointNumber, 19 'out'); 20 assertDeviceInfoEquals( 21 inEndpoint, 22 fakeDeviceInit.configurations[1].interfaces[0].alternates[1] 23 .endpoints[0]); 24 assertDeviceInfoEquals( 25 outEndpoint, 26 fakeDeviceInit.configurations[1].interfaces[0].alternates[1] 27 .endpoints[1]); 28 }, 'Can construct a USBEndpoint.'); 29 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); 38 try { 39 let endpoint = new USBEndpoint( 40 alternateInterface, alternateInterface.endpoints.length, 'in'); 41 assert_unreached('USBEndpoint should reject an invalid endpoint number'); 42 } catch (error) { 43 assert_equals(error.name, 'RangeError'); 44 } 45 }, 'Constructing a USBEndpoint with an invalid endpoint number throws a ' + 46 'range error.');