Index: chrome/browser/extensions/api/usb/usb_apitest.cc |
diff --git a/chrome/browser/extensions/api/usb/usb_apitest.cc b/chrome/browser/extensions/api/usb/usb_apitest.cc |
index 18ed3dd1919aba5a34d6b787dc764c6016c0d5b7..dafbdc5e004349048d22dabf2b2c7c0e6d84f238 100644 |
--- a/chrome/browser/extensions/api/usb/usb_apitest.cc |
+++ b/chrome/browser/extensions/api/usb/usb_apitest.cc |
@@ -22,6 +22,11 @@ ACTION_TEMPLATE(InvokeUsbTransferCallback, |
::std::tr1::get<k>(args).Run(p1, new net::IOBuffer(1), 1); |
} |
+ACTION(InvokeUsbInterfaceCallback) { |
+ // TODO mock up PlatformUsbConfigDescriptor |
+ ::std::tr1::get<1>(args).Run(false); |
+} |
+ |
// MSVC erroneously thinks that at least one of the arguments for the transfer |
// methods differ by const or volatility and emits a warning about the old |
// standards-noncompliant behaviour of their compiler. |
@@ -35,25 +40,28 @@ class MockUsbDevice : public UsbDevice { |
MOCK_METHOD1(Close, void(const base::Callback<void()>& callback)); |
- MOCK_METHOD10(ControlTransfer, void(const TransferDirection direction, |
+ MOCK_METHOD10(ControlTransfer, void(const UsbEndpointDirection direction, |
const TransferRequestType request_type, const TransferRecipient recipient, |
const uint8 request, const uint16 value, const uint16 index, |
net::IOBuffer* buffer, const size_t length, const unsigned int timeout, |
const UsbTransferCallback& callback)); |
- MOCK_METHOD6(BulkTransfer, void(const TransferDirection direction, |
+ MOCK_METHOD6(BulkTransfer, void(const UsbEndpointDirection direction, |
const uint8 endpoint, net::IOBuffer* buffer, const size_t length, |
const unsigned int timeout, const UsbTransferCallback& callback)); |
- MOCK_METHOD6(InterruptTransfer, void(const TransferDirection direction, |
+ MOCK_METHOD6(InterruptTransfer, void(const UsbEndpointDirection direction, |
const uint8 endpoint, net::IOBuffer* buffer, const size_t length, |
const unsigned int timeout, const UsbTransferCallback& callback)); |
- MOCK_METHOD8(IsochronousTransfer, void(const TransferDirection direction, |
+ MOCK_METHOD8(IsochronousTransfer, void(const UsbEndpointDirection direction, |
const uint8 endpoint, net::IOBuffer* buffer, const size_t length, |
const unsigned int packets, const unsigned int packet_length, |
const unsigned int timeout, const UsbTransferCallback& callback)); |
+ MOCK_METHOD2(ListInterfaces, void(UsbConfigDescriptor* config, |
+ const UsbInterfaceCallback& callback)); |
+ |
protected: |
virtual ~MockUsbDevice() {} |
}; |
@@ -84,19 +92,27 @@ IN_PROC_BROWSER_TEST_F(UsbApiTest, DeviceHandling) { |
ASSERT_TRUE(RunExtensionTest("usb/device_handling")); |
} |
+IN_PROC_BROWSER_TEST_F(UsbApiTest, ListInterfaces) { |
+ EXPECT_CALL(*mock_device_, |
+ ListInterfaces(_, _)) |
+ .WillOnce(InvokeUsbInterfaceCallback()); |
+ EXPECT_CALL(*mock_device_, Close(_)).Times(AnyNumber()); |
+ ASSERT_TRUE(RunExtensionTest("usb/list_interfaces")); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) { |
EXPECT_CALL(*mock_device_, |
- ControlTransfer(UsbDevice::OUTBOUND, UsbDevice::STANDARD, |
+ ControlTransfer(USB_DIRECTION_OUTBOUND, UsbDevice::STANDARD, |
UsbDevice::DEVICE, 1, 2, 3, _, 1, _, _)) |
.WillOnce(InvokeUsbTransferCallback<9>(USB_TRANSFER_COMPLETED)); |
EXPECT_CALL(*mock_device_, |
- BulkTransfer(UsbDevice::OUTBOUND, 1, _, 1, _, _)) |
+ BulkTransfer(USB_DIRECTION_OUTBOUND, 1, _, 1, _, _)) |
.WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_COMPLETED)); |
EXPECT_CALL(*mock_device_, |
- InterruptTransfer(UsbDevice::OUTBOUND, 2, _, 1, _, _)) |
+ InterruptTransfer(USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) |
.WillOnce(InvokeUsbTransferCallback<5>(USB_TRANSFER_COMPLETED)); |
EXPECT_CALL(*mock_device_, |
- IsochronousTransfer(UsbDevice::OUTBOUND, 3, _, 1, 1, 1, _, _)) |
+ IsochronousTransfer(USB_DIRECTION_OUTBOUND, 3, _, 1, 1, 1, _, _)) |
.WillOnce(InvokeUsbTransferCallback<7>(USB_TRANSFER_COMPLETED)); |
EXPECT_CALL(*mock_device_, Close(_)).Times(AnyNumber()); |
ASSERT_TRUE(RunExtensionTest("usb/transfer_event")); |