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