Automatic update from web-platform-tests [WPT] Refactor WebUSB tests to use test-only-api.js Also switch to loading *.mojom.js from /gen/ instead of resources/chromium in preparation for launching official MojoJS support in WPT. This would not change the test results on Chromium waterfall (everything should continue to pass) or upstream WPT (tests currently fail because MojoJS isn't enabled). Move web_tests/usb to web_tests/wpt_internal/webusb so that these tests are served the same was as web_tests/external/wpt/webusb, making the resource URLs consistent and saving a special case in the helper function. Finally, remove unused .mojom.js files from WPT. Bug: 1094512 Change-Id: I75f3d1a7acf494e2c881c527618a496e907a9596 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2276999 Commit-Queue: Robert Ma <robertma@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/master@{#796122} -- wpt-commits: 2cb9d275a68141cf8879b7c496a36925420dd43b wpt-pr: 24927
47 lines
1.8 KiB
JavaScript
47 lines
1.8 KiB
JavaScript
// 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 () => {
|
|
let { device } = await getFakeDevice();
|
|
let configuration = new USBConfiguration(
|
|
device, device.configurations[1].configurationValue);
|
|
let usbInterface = new USBInterface(
|
|
configuration, configuration.interfaces[0].interfaceNumber);
|
|
let alternateInterface = new USBAlternateInterface(
|
|
usbInterface, usbInterface.alternates[1].alternateSetting);
|
|
let inEndpoint = new USBEndpoint(
|
|
alternateInterface, alternateInterface.endpoints[0].endpointNumber, 'in');
|
|
let outEndpoint = new USBEndpoint(
|
|
alternateInterface,
|
|
alternateInterface.endpoints[1].endpointNumber,
|
|
'out');
|
|
assertDeviceInfoEquals(
|
|
inEndpoint,
|
|
fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
|
|
.endpoints[0]);
|
|
assertDeviceInfoEquals(
|
|
outEndpoint,
|
|
fakeDeviceInit.configurations[1].interfaces[0].alternates[1]
|
|
.endpoints[1]);
|
|
}, 'Can construct a USBEndpoint.');
|
|
|
|
usb_test(async () => {
|
|
let { device } = await getFakeDevice();
|
|
let configuration = new USBConfiguration(
|
|
device, device.configurations[1].configurationValue);
|
|
let usbInterface = new USBInterface(
|
|
configuration, configuration.interfaces[0].interfaceNumber);
|
|
let alternateInterface = new USBAlternateInterface(
|
|
usbInterface, usbInterface.alternates[1].alternateSetting);
|
|
try {
|
|
let endpoint = new USBEndpoint(
|
|
alternateInterface, alternateInterface.endpoints.length, 'in');
|
|
assert_unreached('USBEndpoint should reject an invalid endpoint number');
|
|
} catch (error) {
|
|
assert_equals(error.name, 'RangeError');
|
|
}
|
|
}, 'Constructing a USBEndpoint with an invalid endpoint number throws a ' +
|
|
'range error.');
|