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

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

Issue 1754543003: Add WebUSB layout tests for device disconnection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses rockot@'s nits. 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script> 4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/fake-devices.js"></script> 5 <script src="resources/fake-devices.js"></script>
6 <script src="resources/usb-helpers.js"></script> 6 <script src="resources/usb-helpers.js"></script>
7 <script> 7 <script>
8 'use strict'; 8 'use strict';
9 9
10 usb_test(usb => { 10 usb_test(usb => {
11 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 11 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
12 12
13 return navigator.usb.getDevices().then(devices => { 13 return navigator.usb.getDevices().then(devices => {
14 assert_equals(devices.length, 1); 14 assert_equals(devices.length, 1);
15 usb.assertDeviceInfoEquals(devices[0], usb.fakeDevices[0]); 15 usb.assertDeviceInfoEquals(devices[0], usb.fakeDevices[0]);
16 }); 16 });
17 }, 'getDevices returns devices exposed by the DeviceManager service.'); 17 }, 'getDevices returns devices exposed by the DeviceManager service.');
18 18
19 usb_test(usb => { 19 usb_test(usb => {
20 return navigator.usb.requestDevice({ filters: [] })
21 .then(device => {
22 assert_unreachable('requestDevice should reject without a user gesture');
23 })
24 .catch(error => {
25 assert_equals(error.code, DOMException.SECURITY_ERR);
26 });
27 }, 'requestDevice rejects when called without a user gesture');
28
29 usb_test(usb => {
20 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] }) 30 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
21 .then(device => { 31 .then(device => {
22 assert_unreachable('requestDevice should reject when no device selected'); 32 assert_unreachable('requestDevice should reject when no device selected');
23 }) 33 })
24 .catch(error => { 34 .catch(error => {
25 assert_equals(error.code, DOMException.NOT_FOUND_ERR); 35 assert_equals(error.code, DOMException.NOT_FOUND_ERR);
26 return Promise.resolve();
27 }) 36 })
28 ); 37 );
29 }, 'requestDevice rejects when no device is chosen'); 38 }, 'requestDevice rejects when no device is chosen');
30 39
31 usb_test(usb => { 40 usb_test(usb => {
32 usb.mockPermissionBubble.setChosenDevice(usb.fakeDevices[0]); 41 usb.mockPermissionBubble.setChosenDevice(usb.fakeDevices[0]);
33 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] }) 42 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
34 .then(device => { 43 .then(device => {
35 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]); 44 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]);
36 }) 45 })
(...skipping 18 matching lines...) Expand all
55 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]); 64 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]);
56 resolve(); 65 resolve();
57 }); 66 });
58 }); 67 });
59 68
60 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 69 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
61 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 70 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
62 return promise; 71 return promise;
63 }, 'ondisconnect event is triggered by removing a device'); 72 }, 'ondisconnect event is triggered by removing a device');
64 </script> 73 </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