aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js')
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js b/tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js
new file mode 100644
index 00000000000..e7d1c7fb146
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webusb/usbConfiguration.https.any.js
@@ -0,0 +1,23 @@
+// META: script=/webusb/resources/fake-devices.js
+// META: script=/webusb/resources/usb-helpers.js
+'use strict';
+
+usb_test(async () => {
+ let { device } = await getFakeDevice();
+ let configuration = new USBConfiguration(
+ device, device.configurations[1].configurationValue);
+ assertDeviceInfoEquals(configuration, fakeDeviceInit.configurations[1]);
+}, 'Can construct a USBConfiguration.');
+
+usb_test(async () => {
+ let { device } = await getFakeDevice();
+ try {
+ let configuration =
+ new USBConfiguration(device, device.configurations.length + 1);
+ assert_unreached(
+ 'USBConfiguration should reject an invalid configuration value');
+ } catch (error) {
+ assert_equals(error.name, 'RangeError');
+ }
+}, 'Constructing a USBConfiguration with an invalid configuration value ' +
+ 'throws a range error.');