Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/usb/usbDevice.html |
| diff --git a/third_party/WebKit/LayoutTests/usb/usbDevice.html b/third_party/WebKit/LayoutTests/usb/usbDevice.html |
| index 9f3b6af16402ecc45ea33ded0205bbb93f0e2b88..5d38ca1a7bd42fbf99d8d4746702046c9f785f1f 100644 |
| --- a/third_party/WebKit/LayoutTests/usb/usbDevice.html |
| +++ b/third_party/WebKit/LayoutTests/usb/usbDevice.html |
| @@ -7,6 +7,23 @@ |
| <script> |
| 'use strict'; |
| +function assertRejectsWithNotFoundError(promise) { |
| + return promise.then(() => { |
| + assert_unreached('promise should reject'); |
| + }, error => { |
| + assert_equals(error.code, DOMException.NOT_FOUND_ERR); |
| + }); |
| +} |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(devices[0].open()); |
| + }); |
| +}, 'open rejects when called on a disconnected device'); |
| + |
| usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| @@ -21,6 +38,31 @@ usb_test(usb => { |
| return navigator.usb.getDevices().then(devices => { |
| assert_equals(1, devices.length); |
| let device = devices[0]; |
| + return device.open().then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.close()); |
| + }); |
| + }); |
| +}, 'close rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + var device = devices[0]; |
| + return device.open() |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.setConfiguration(1)); |
| + }); |
| + }); |
| +}, 'getConfiguration rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + let device = devices[0]; |
| return device.open() |
| .then(() => device.setConfiguration(1)) |
| .then(() => device.getConfiguration()) |
| @@ -35,6 +77,23 @@ usb_test(usb => { |
| usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + var device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => device.getConfiguration()) |
| + .then(config => { |
| + usb.assertConfigurationInfoEquals( |
| + config, usb.fakeDevices[0].configurations[0]); |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.getConfiguration()); |
| + }); |
| + }); |
| +}, 'getConfiguration rejects when called on a disconnected device'); |
|
Ken Rockot(use gerrit already)
2016/03/02 01:54:19
This test description is identical to the one on l
Reilly Grant (use Gerrit)
2016/03/02 19:13:27
Oops, the first one should be "setConfiguration" a
|
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| assert_equals(devices.length, 1); |
| let device = devices[0]; |
| return device.open() |
| @@ -86,6 +145,35 @@ usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| assert_equals(1, devices.length); |
| + var device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.claimInterface(0)); |
| + }); |
| + }); |
| +}, 'claimInterface rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + var device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => device.claimInterface(0)) |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.releaseInterface(0)); |
| + }); |
| + }); |
| +}, 'releaseInterface rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| let device = devices[0]; |
| return device.open() |
| .then(() => device.setConfiguration(2)) |
| @@ -99,6 +187,21 @@ usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| assert_equals(1, devices.length); |
| + var device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(2)) |
| + .then(() => device.claimInterface(0)) |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.setInterface(0, 1)); |
| + }); |
| + }); |
| +}, 'setInterface rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| let device = devices[0]; |
| return device.open() |
| .then(() => device.controlTransferIn({ |
| @@ -127,6 +230,25 @@ usb_test(usb => { |
| assert_equals(1, devices.length); |
| let device = devices[0]; |
| return device.open() |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.controlTransferIn({ |
| + requestType: 'vendor', |
| + recipient: 'device', |
| + request: 0x42, |
| + value: 0x1234, |
| + index: 0x5678 |
| + }, 7)); |
| + }); |
| + }); |
| +}, 'controlTransferIn rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + let device = devices[0]; |
| + return device.open() |
| .then(() => device.controlTransferOut({ |
| requestType: 'vendor', |
| recipient: 'device', |
| @@ -146,6 +268,25 @@ usb_test(usb => { |
| usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + let device = devices[0]; |
| + return device.open() |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.controlTransferOut({ |
| + requestType: 'vendor', |
| + recipient: 'device', |
| + request: 0x42, |
| + value: 0x1234, |
| + index: 0x5678 |
| + }, new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))); |
| + }); |
| + }); |
| +}, 'controlTransferOut rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| assert_equals(devices.length, 1); |
| let device = devices[0]; |
| return device.open() |
| @@ -164,6 +305,21 @@ usb_test(usb => { |
| return device.open() |
| .then(() => device.setConfiguration(1)) |
| .then(() => device.claimInterface(0)) |
| + .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.clearHalt(1)); |
| + }); |
| + }); |
| +}, 'clearHalt rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(devices.length, 1); |
| + let device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => device.claimInterface(0)) |
| .then(() => device.transferIn(1, 8)) |
| .then(result => { |
| assert_true(result instanceof USBInTransferResult); |
| @@ -206,6 +362,21 @@ usb_test(usb => { |
| .then(() => device.setConfiguration(1)) |
| .then(() => device.claimInterface(1)) |
| .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.transferIn(2, 1024)); |
| + }); |
| + }); |
| +}, 'transferIn rejects if called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(devices.length, 1); |
| + let device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => device.claimInterface(1)) |
| + .then(() => { |
| let data = new DataView(new ArrayBuffer(1024)); |
| for (let i = 0; i < 1024; ++i) |
| data.setUint8(i, i & 0xff); |
| @@ -226,6 +397,24 @@ usb_test(usb => { |
| assert_equals(devices.length, 1); |
| let device = devices[0]; |
| return device.open() |
| + .then(() => device.setConfiguration(1)) |
| + .then(() => device.claimInterface(1)) |
| + .then(() => { |
| + let data = new DataView(new ArrayBuffer(1024)); |
| + for (let i = 0; i < 1024; ++i) |
| + data.setUint8(i, i & 0xff); |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.transferOut(2, data)); |
| + }); |
| + }); |
| +}, 'transferOut rejects if called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(devices.length, 1); |
| + let device = devices[0]; |
| + return device.open() |
| .then(() => device.setConfiguration(2)) |
| .then(() => device.claimInterface(0)) |
| .then(() => device.setInterface(0, 1)) |
| @@ -263,6 +452,23 @@ usb_test(usb => { |
| .then(() => device.claimInterface(0)) |
| .then(() => device.setInterface(0, 1)) |
| .then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.isochronousTransferIn( |
| + 1, [64, 64, 64, 64, 64, 64, 64, 64])); |
| + }); |
| + }); |
| +}, 'isochronousTransferIn rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(devices.length, 1); |
| + let device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(2)) |
| + .then(() => device.claimInterface(0)) |
| + .then(() => device.setInterface(0, 1)) |
| + .then(() => { |
| let data = new DataView(new ArrayBuffer(64 * 8)); |
| for (let i = 0; i < 8; ++i) { |
| for (let j = 0; j < 64; ++j) |
| @@ -289,9 +495,43 @@ usb_test(usb => { |
| usb_test(usb => { |
| usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| return navigator.usb.getDevices().then(devices => { |
| + assert_equals(devices.length, 1); |
| + let device = devices[0]; |
| + return device.open() |
| + .then(() => device.setConfiguration(2)) |
| + .then(() => device.claimInterface(0)) |
| + .then(() => device.setInterface(0, 1)) |
| + .then(() => { |
| + let data = new DataView(new ArrayBuffer(64 * 8)); |
| + for (let i = 0; i < 8; ++i) { |
| + for (let j = 0; j < 64; ++j) |
| + data.setUint8(i * j, j & 0xff); |
| + } |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.isochronousTransferOut( |
| + 1, data, [64, 64, 64, 64, 64, 64, 64, 64])); |
| + }); |
| + }); |
| +}, 'isochronousTransferOut rejects when called on a disconnected device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| assert_equals(1, devices.length); |
| let device = devices[0]; |
| return device.open().then(() => device.reset()).then(() => device.close()); |
| }); |
| }, 'can reset the device'); |
| + |
| +usb_test(usb => { |
| + usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); |
| + return navigator.usb.getDevices().then(devices => { |
| + assert_equals(1, devices.length); |
| + let device = devices[0]; |
| + return device.open().then(() => { |
| + usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); |
| + return assertRejectsWithNotFoundError(device.reset()); |
| + }); |
| + }); |
| +}, 'resetDevice rejects when called on a disconnected device'); |
| </script> |