summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/serial/serialPort_getInfo.https.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/serial/serialPort_getInfo.https.any.js')
-rw-r--r--testing/web-platform/tests/serial/serialPort_getInfo.https.any.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/testing/web-platform/tests/serial/serialPort_getInfo.https.any.js b/testing/web-platform/tests/serial/serialPort_getInfo.https.any.js
new file mode 100644
index 0000000000..2e0df3b8bd
--- /dev/null
+++ b/testing/web-platform/tests/serial/serialPort_getInfo.https.any.js
@@ -0,0 +1,24 @@
+// META: script=/resources/test-only-api.js
+// META: script=/serial/resources/common.js
+// META: script=resources/automation.js
+
+serial_test(async (t, fake) => {
+ // Wait for getPorts() to resolve in order to ensure that the Mojo client
+ // interface has been configured.
+ let ports = await navigator.serial.getPorts();
+ assert_equals(ports.length, 0);
+
+ [{},
+ {usbVendorId: 1},
+ {usbProductId: 2},
+ {usbVendorId: 1, usbProductId: 2},
+ ].forEach((expectedInfo) => {
+ serial_test(async (t, fake) => {
+ let watcher = new EventWatcher(t, navigator.serial, ['connect']);
+ fake.addPort(expectedInfo);
+ let evt = await watcher.wait_for(['connect']);
+ let info = evt.target.getInfo();
+ assert_object_equals(expectedInfo, info);
+ }, `getInfo() returns ${JSON.stringify(expectedInfo)}`);
+ });
+}, 'getInfo() meta test');