OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/api/usb/usb_api.h" | 5 #include "chrome/browser/extensions/api/usb/usb_api.h" |
6 #include "chrome/browser/extensions/extension_apitest.h" | 6 #include "chrome/browser/extensions/extension_apitest.h" |
7 #include "chrome/browser/ui/browser.h" | 7 #include "chrome/browser/ui/browser.h" |
8 #include "content/public/browser/browser_thread.h" | 8 #include "content/public/browser/browser_thread.h" |
9 #include "net/base/io_buffer.h" | 9 #include "net/base/io_buffer.h" |
10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 89 |
90 #if defined(OS_WIN) | 90 #if defined(OS_WIN) |
91 #pragma warning(pop) | 91 #pragma warning(pop) |
92 #endif | 92 #endif |
93 | 93 |
94 class UsbApiTest : public ExtensionApiTest { | 94 class UsbApiTest : public ExtensionApiTest { |
95 public: | 95 public: |
96 virtual void SetUpOnMainThread() OVERRIDE { | 96 virtual void SetUpOnMainThread() OVERRIDE { |
97 mock_device_handle_ = new MockUsbDeviceHandle(); | 97 mock_device_handle_ = new MockUsbDeviceHandle(); |
98 mock_device_ = new MockUsbDevice(mock_device_handle_.get()); | 98 mock_device_ = new MockUsbDevice(mock_device_handle_.get()); |
99 extensions::UsbFindDevicesFunction::SetDeviceForTest(mock_device_.get()); | 99 extensions::UsbGetDevicesFunction::SetDeviceForTest(mock_device_.get()); |
100 } | 100 } |
101 | 101 |
102 protected: | 102 protected: |
103 scoped_refptr<MockUsbDeviceHandle> mock_device_handle_; | 103 scoped_refptr<MockUsbDeviceHandle> mock_device_handle_; |
104 scoped_refptr<MockUsbDevice> mock_device_; | 104 scoped_refptr<MockUsbDevice> mock_device_; |
105 }; | 105 }; |
106 | 106 |
107 } // namespace | 107 } // namespace |
108 | 108 |
109 IN_PROC_BROWSER_TEST_F(UsbApiTest, DeviceHandling) { | 109 IN_PROC_BROWSER_TEST_F(UsbApiTest, DeviceHandling) { |
110 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); | 110 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(4); |
| 111 ASSERT_TRUE(RunExtensionTest("usb/device_handling")); |
| 112 } |
| 113 |
| 114 IN_PROC_BROWSER_TEST_F(UsbApiTest, ResetDevice) { |
| 115 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(2); |
111 EXPECT_CALL(*mock_device_handle_.get(), ResetDevice()) | 116 EXPECT_CALL(*mock_device_handle_.get(), ResetDevice()) |
112 .WillOnce(Return(true)) | 117 .WillOnce(Return(true)) |
113 .WillOnce(Return(false)); | 118 .WillOnce(Return(false)); |
114 EXPECT_CALL(*mock_device_handle_.get(), | 119 EXPECT_CALL(*mock_device_handle_.get(), |
115 InterruptTransfer(USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) | 120 InterruptTransfer(USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) |
116 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_COMPLETED)); | 121 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_COMPLETED)); |
117 ASSERT_TRUE(RunExtensionTest("usb/device_handling")); | 122 ASSERT_TRUE(RunExtensionTest("usb/reset_device")); |
118 } | 123 } |
119 | 124 |
120 IN_PROC_BROWSER_TEST_F(UsbApiTest, ListInterfaces) { | 125 IN_PROC_BROWSER_TEST_F(UsbApiTest, ListInterfaces) { |
121 EXPECT_CALL(*mock_device_.get(), ListInterfaces()) | 126 EXPECT_CALL(*mock_device_.get(), ListInterfaces()) |
122 .WillOnce(Return(scoped_refptr<UsbConfigDescriptor>(NULL))); | 127 .WillOnce(Return(scoped_refptr<UsbConfigDescriptor>())); |
123 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); | 128 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); |
124 ASSERT_TRUE(RunExtensionTest("usb/list_interfaces")); | 129 ASSERT_TRUE(RunExtensionTest("usb/list_interfaces")); |
125 } | 130 } |
126 | 131 |
127 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) { | 132 IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) { |
128 EXPECT_CALL(*mock_device_handle_.get(), | 133 EXPECT_CALL(*mock_device_handle_.get(), |
129 ControlTransfer(USB_DIRECTION_OUTBOUND, | 134 ControlTransfer(USB_DIRECTION_OUTBOUND, |
130 UsbDeviceHandle::STANDARD, | 135 UsbDeviceHandle::STANDARD, |
131 UsbDeviceHandle::DEVICE, | 136 UsbDeviceHandle::DEVICE, |
132 1, | 137 1, |
(...skipping 30 matching lines...) Expand all Loading... |
163 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_ERROR)) | 168 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_ERROR)) |
164 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_TIMEOUT)); | 169 .WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_TIMEOUT)); |
165 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); | 170 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); |
166 ASSERT_TRUE(RunExtensionTest("usb/transfer_failure")); | 171 ASSERT_TRUE(RunExtensionTest("usb/transfer_failure")); |
167 } | 172 } |
168 | 173 |
169 IN_PROC_BROWSER_TEST_F(UsbApiTest, InvalidLengthTransfer) { | 174 IN_PROC_BROWSER_TEST_F(UsbApiTest, InvalidLengthTransfer) { |
170 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); | 175 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); |
171 ASSERT_TRUE(RunExtensionTest("usb/invalid_length_transfer")); | 176 ASSERT_TRUE(RunExtensionTest("usb/invalid_length_transfer")); |
172 } | 177 } |
OLD | NEW |