Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: third_party/WebKit/LayoutTests/usb/usb.html

Issue 1730403006: Basic layout tests for WebUSB. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Mojo tests that depend on extra module loading. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/fake-devices.js"></script>
6 <script src="resources/usb-helpers.js"></script>
7 <script>
8 'use strict';
9
10 usb_test(usb => {
11 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
12
13 return navigator.usb.getDevices().then(devices => {
14 assert_equals(devices.length, 1);
15 usb.assertDeviceInfoEquals(devices[0], usb.fakeDevices[0]);
16 });
17 }, 'getDevices returns devices exposed by the DeviceManager service.');
18
19 usb_test(usb => {
20 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
21 .then(device => {
22 assert_unreachable('requestDevice should reject when no device selected');
23 })
24 .catch(error => {
25 assert_equals(error.code, DOMException.NOT_FOUND_ERR);
26 return Promise.resolve();
27 })
28 );
29 }, 'requestDevice rejects when no device is chosen');
30
31 usb_test(usb => {
32 usb.mockPermissionBubble.setChosenDevice(usb.fakeDevices[0]);
33 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
34 .then(device => {
35 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]);
36 })
37 );
38 }, 'requestDevice returns the device chosen by the user');
39
40 usb_test(usb => {
41 let promise = new Promise((resolve, reject) => {
42 navigator.usb.addEventListener('connect', e => {
43 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]);
44 resolve();
45 });
46 });
47
48 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
49 return promise;
50 }, 'onconnect event is trigged by adding a device');
51
52 usb_test(usb => {
53 let promise = new Promise((resolve, reject) => {
54 navigator.usb.addEventListener('disconnect', e => {
55 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]);
56 resolve();
57 });
58 });
59
60 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
61 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
62 return promise;
63 }, 'ondisconnect event is triggered by removing a device');
64 </script>
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js ('k') | third_party/WebKit/LayoutTests/usb/usbDevice.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698