diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html')
-rw-r--r-- | testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html b/testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html new file mode 100644 index 0000000000..991c1a9f31 --- /dev/null +++ b/testing/web-platform/tests/webusb/usbDevice_claimInterface-manual.https.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title></title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="resources/manual.js"></script> + </head> + <body> + <p> + These tests require a USB device to be connected. + </p> + <script> + manual_usb_test(async (t, device) => { + await device.open(); + const interfacesClaimed = []; + t.add_cleanup(async () => { + for (const iface of interfacesClaimed) { + await device.releaseInterface(iface.interfaceNumber); + } + await device.close(); + }); + + await device.selectConfiguration(1); + + const promises = []; + for (const iface of device.configuration.interfaces) { + const promise = device.claimInterface(iface.interfaceNumber); + promises.push(promise); + + // Create a subtest for each interface so that success or failure to + // claim the interface is visible but does not affect the result of + // the overall test. + promise_test(async (t) => { + await promise; + + interfacesClaimed.push(iface); + }, `Can claim interface ${iface.interfaceNumber}`); + } + + await Promise.allSettled(promises); + }, 'claimInterface() resolves or rejects for all interfaces'); + </script> + </body> +</html>
\ No newline at end of file |