summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js')
-rw-r--r--testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js b/testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js
new file mode 100644
index 0000000000..088b4a258a
--- /dev/null
+++ b/testing/web-platform/tests/webusb/usbDevice-same-objecct.https.any.js
@@ -0,0 +1,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.');