summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js
blob: 088b4a258aa71a3e0b54f7cf1e38e26b4b58a0aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// META: script=/resources/test-only-api.js
// META: script=/webusb/resources/fake-devices.js
// META: script=/webusb/resources/usb-helpers.js
'use strict';

usb_test(async () => {
  const {device} = await getFakeDevice();
  await device.open();

  for (const configuration of device.configurations) {
    await device.selectConfiguration(configuration.configurationValue);
    assert_equals(device.configuration, configuration);

    for (const interfaceObj of configuration.interfaces) {
      await device.claimInterface(interfaceObj.interfaceNumber);

      for (const alternate of interfaceObj.alternates) {
        await device.selectAlternateInterface(
            interfaceObj.interfaceNumber, alternate.alternateSetting);
        assert_equals(interfaceObj.alternate, alternate);
      }
      await device.releaseInterface(interfaceObj.interfaceNumber);
    }
  }
  await device.close();
}, '[SameObject] test for instances within USBDevice.');