tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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.');