tor-browser

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

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