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

Side by Side Diff: extensions/browser/api/usb/usb_apitest.cc

Issue 497363004: Merge components/usb_service into device/usb. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 3 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
« no previous file with comments | « extensions/browser/api/usb/usb_api.cc ('k') | extensions/browser/api/usb/usb_device_resource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_apitest.h" 5 #include "chrome/browser/extensions/extension_apitest.h"
6 #include "chrome/browser/ui/browser.h" 6 #include "chrome/browser/ui/browser.h"
7 #include "components/usb_service/usb_service.h"
8 #include "content/public/browser/browser_thread.h" 7 #include "content/public/browser/browser_thread.h"
9 #include "content/public/test/test_utils.h" 8 #include "content/public/test/test_utils.h"
9 #include "device/usb/usb_service.h"
10 #include "extensions/browser/api/usb/usb_api.h" 10 #include "extensions/browser/api/usb/usb_api.h"
11 #include "net/base/io_buffer.h" 11 #include "net/base/io_buffer.h"
12 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
13 13
14 using testing::AnyNumber; 14 using testing::AnyNumber;
15 using testing::_; 15 using testing::_;
16 using testing::Return; 16 using testing::Return;
17 using content::BrowserThread; 17 using content::BrowserThread;
18 using usb_service::UsbConfigDescriptor; 18 using device::UsbConfigDescriptor;
19 using usb_service::UsbDevice; 19 using device::UsbDevice;
20 using usb_service::UsbDeviceHandle; 20 using device::UsbDeviceHandle;
21 using usb_service::UsbEndpointDirection; 21 using device::UsbEndpointDirection;
22 using usb_service::UsbInterfaceDescriptor; 22 using device::UsbInterfaceDescriptor;
23 using usb_service::UsbService; 23 using device::UsbService;
24 using usb_service::UsbTransferCallback; 24 using device::UsbTransferCallback;
25 25
26 namespace { 26 namespace {
27 27
28 ACTION_TEMPLATE(InvokeUsbTransferCallback, 28 ACTION_TEMPLATE(InvokeUsbTransferCallback,
29 HAS_1_TEMPLATE_PARAMS(int, k), 29 HAS_1_TEMPLATE_PARAMS(int, k),
30 AND_1_VALUE_PARAMS(p1)) { 30 AND_1_VALUE_PARAMS(p1)) {
31 net::IOBuffer* io_buffer = new net::IOBuffer(1); 31 net::IOBuffer* io_buffer = new net::IOBuffer(1);
32 memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads. 32 memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads.
33 ::std::tr1::get<k>(args).Run(p1, io_buffer, 1); 33 ::std::tr1::get<k>(args).Run(p1, io_buffer, 1);
34 } 34 }
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 IN_PROC_BROWSER_TEST_F(UsbApiTest, DeviceHandling) { 211 IN_PROC_BROWSER_TEST_F(UsbApiTest, DeviceHandling) {
212 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(4); 212 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(4);
213 ASSERT_TRUE(RunExtensionTest("usb/device_handling")); 213 ASSERT_TRUE(RunExtensionTest("usb/device_handling"));
214 } 214 }
215 215
216 IN_PROC_BROWSER_TEST_F(UsbApiTest, ResetDevice) { 216 IN_PROC_BROWSER_TEST_F(UsbApiTest, ResetDevice) {
217 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(2); 217 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(2);
218 EXPECT_CALL(*mock_device_handle_.get(), ResetDevice()) 218 EXPECT_CALL(*mock_device_handle_.get(), ResetDevice())
219 .WillOnce(Return(true)) 219 .WillOnce(Return(true))
220 .WillOnce(Return(false)); 220 .WillOnce(Return(false));
221 EXPECT_CALL( 221 EXPECT_CALL(*mock_device_handle_.get(),
222 *mock_device_handle_.get(), 222 InterruptTransfer(device::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _))
223 InterruptTransfer(usb_service::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) 223 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
224 .WillOnce(
225 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_COMPLETED));
226 ASSERT_TRUE(RunExtensionTest("usb/reset_device")); 224 ASSERT_TRUE(RunExtensionTest("usb/reset_device"));
227 } 225 }
228 226
229 IN_PROC_BROWSER_TEST_F(UsbApiTest, ListInterfaces) { 227 IN_PROC_BROWSER_TEST_F(UsbApiTest, ListInterfaces) {
230 scoped_refptr<MockUsbConfigDescriptor> mock_descriptor = 228 scoped_refptr<MockUsbConfigDescriptor> mock_descriptor =
231 new MockUsbConfigDescriptor(); 229 new MockUsbConfigDescriptor();
232 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 230 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
233 EXPECT_CALL(*mock_descriptor.get(), GetNumInterfaces()).WillOnce(Return(0)); 231 EXPECT_CALL(*mock_descriptor.get(), GetNumInterfaces()).WillOnce(Return(0));
234 EXPECT_CALL(*mock_device_.get(), ListInterfaces()) 232 EXPECT_CALL(*mock_device_.get(), ListInterfaces())
235 .WillOnce(Return(mock_descriptor)); 233 .WillOnce(Return(mock_descriptor));
236 ASSERT_TRUE(RunExtensionTest("usb/list_interfaces")); 234 ASSERT_TRUE(RunExtensionTest("usb/list_interfaces"));
237 } 235 }
238 236
239 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) { 237 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) {
240 EXPECT_CALL(*mock_device_handle_.get(), 238 EXPECT_CALL(*mock_device_handle_.get(),
241 ControlTransfer(usb_service::USB_DIRECTION_OUTBOUND, 239 ControlTransfer(device::USB_DIRECTION_OUTBOUND,
242 UsbDeviceHandle::STANDARD, 240 UsbDeviceHandle::STANDARD,
243 UsbDeviceHandle::DEVICE, 241 UsbDeviceHandle::DEVICE,
244 1, 242 1,
245 2, 243 2,
246 3, 244 3,
247 _, 245 _,
248 1, 246 1,
249 _, 247 _,
250 _)) 248 _))
251 .WillOnce( 249 .WillOnce(InvokeUsbTransferCallback<9>(device::USB_TRANSFER_COMPLETED));
252 InvokeUsbTransferCallback<9>(usb_service::USB_TRANSFER_COMPLETED));
253 EXPECT_CALL(*mock_device_handle_.get(), 250 EXPECT_CALL(*mock_device_handle_.get(),
254 BulkTransfer(usb_service::USB_DIRECTION_OUTBOUND, 1, _, 1, _, _)) 251 BulkTransfer(device::USB_DIRECTION_OUTBOUND, 1, _, 1, _, _))
255 .WillOnce( 252 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
256 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_COMPLETED)); 253 EXPECT_CALL(*mock_device_handle_.get(),
254 InterruptTransfer(device::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _))
255 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
257 EXPECT_CALL( 256 EXPECT_CALL(
258 *mock_device_handle_.get(), 257 *mock_device_handle_.get(),
259 InterruptTransfer(usb_service::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) 258 IsochronousTransfer(device::USB_DIRECTION_OUTBOUND, 3, _, 1, 1, 1, _, _))
260 .WillOnce( 259 .WillOnce(InvokeUsbTransferCallback<7>(device::USB_TRANSFER_COMPLETED));
261 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_COMPLETED));
262 EXPECT_CALL(*mock_device_handle_.get(),
263 IsochronousTransfer(
264 usb_service::USB_DIRECTION_OUTBOUND, 3, _, 1, 1, 1, _, _))
265 .WillOnce(
266 InvokeUsbTransferCallback<7>(usb_service::USB_TRANSFER_COMPLETED));
267 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 260 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
268 ASSERT_TRUE(RunExtensionTest("usb/transfer_event")); 261 ASSERT_TRUE(RunExtensionTest("usb/transfer_event"));
269 } 262 }
270 263
271 IN_PROC_BROWSER_TEST_F(UsbApiTest, ZeroLengthTransfer) { 264 IN_PROC_BROWSER_TEST_F(UsbApiTest, ZeroLengthTransfer) {
272 EXPECT_CALL(*mock_device_handle_.get(), BulkTransfer(_, _, _, 0, _, _)) 265 EXPECT_CALL(*mock_device_handle_.get(), BulkTransfer(_, _, _, 0, _, _))
273 .WillOnce( 266 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
274 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_COMPLETED));
275 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 267 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
276 ASSERT_TRUE(RunExtensionTest("usb/zero_length_transfer")); 268 ASSERT_TRUE(RunExtensionTest("usb/zero_length_transfer"));
277 } 269 }
278 270
279 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferFailure) { 271 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferFailure) {
280 EXPECT_CALL(*mock_device_handle_.get(), BulkTransfer(_, _, _, _, _, _)) 272 EXPECT_CALL(*mock_device_handle_.get(), BulkTransfer(_, _, _, _, _, _))
281 .WillOnce( 273 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED))
282 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_COMPLETED)) 274 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_ERROR))
283 .WillOnce(InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_ERROR)) 275 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_TIMEOUT));
284 .WillOnce(
285 InvokeUsbTransferCallback<5>(usb_service::USB_TRANSFER_TIMEOUT));
286 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 276 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
287 ASSERT_TRUE(RunExtensionTest("usb/transfer_failure")); 277 ASSERT_TRUE(RunExtensionTest("usb/transfer_failure"));
288 } 278 }
289 279
290 IN_PROC_BROWSER_TEST_F(UsbApiTest, InvalidLengthTransfer) { 280 IN_PROC_BROWSER_TEST_F(UsbApiTest, InvalidLengthTransfer) {
291 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 281 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
292 ASSERT_TRUE(RunExtensionTest("usb/invalid_length_transfer")); 282 ASSERT_TRUE(RunExtensionTest("usb/invalid_length_transfer"));
293 } 283 }
OLDNEW
« no previous file with comments | « extensions/browser/api/usb/usb_api.cc ('k') | extensions/browser/api/usb/usb_device_resource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698