| 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 |