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