usbAlternateInterface.https.any.js (1392B)
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 assertDeviceInfoEquals( 15 alternateInterface, 16 fakeDeviceInit.configurations[1].interfaces[0].alternates[1]); 17 }, 'Can construct a USBAlternateInterface.'); 18 19 usb_test(async () => { 20 let { device } = await getFakeDevice(); 21 let configuration = new USBConfiguration( 22 device, device.configurations[1].configurationValue); 23 let usbInterface = new USBInterface( 24 configuration, configuration.interfaces[0].interfaceNumber); 25 try { 26 let alternateInterface = new USBAlternateInterface( 27 usbInterface, usbInterface.alternates.length); 28 assert_unreached( 29 'USBAlternateInterface should reject an invalid alternate setting'); 30 } catch (error) { 31 assert_equals(error.name, 'RangeError'); 32 } 33 }, 'Constructing a USBAlternateInterface with an invalid alternate setting ' + 34 'throws a range error.');