Index: extensions/browser/api/usb/usb_apitest.cc |
diff --git a/extensions/browser/api/usb/usb_apitest.cc b/extensions/browser/api/usb/usb_apitest.cc |
index cc6b47b172d113a589422ad3869fe31a5e03dd1b..74b2eb52a481c1a2fe34768898cf2807fa92461c 100644 |
--- a/extensions/browser/api/usb/usb_apitest.cc |
+++ b/extensions/browser/api/usb/usb_apitest.cc |
@@ -48,6 +48,18 @@ ACTION_TEMPLATE(InvokeUsbTransferCallback, |
::std::tr1::get<k>(args).Run(p1, io_buffer, 1); |
} |
+ACTION_TEMPLATE(InvokeUsbIsochronousTransferCallback, |
+ HAS_1_TEMPLATE_PARAMS(int, k), |
+ AND_1_VALUE_PARAMS(p1)) { |
+ net::IOBuffer* io_buffer = new net::IOBuffer(1); |
+ memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads. |
+ std::vector<UsbDeviceHandle::IsochronousPacket> packets(1); |
+ packets[0].length = 1; |
+ packets[0].transferred_length = 1; |
+ packets[0].status = p1; |
+ ::std::tr1::get<k>(args).Run(io_buffer, packets); |
+} |
+ |
class TestDevicePermissionsPrompt |
: public DevicePermissionsPrompt, |
public DevicePermissionsPrompt::Prompt::Observer { |
@@ -165,10 +177,9 @@ IN_PROC_BROWSER_TEST_F(UsbApiTest, TransferEvent) { |
EXPECT_CALL(*mock_device_handle_.get(), |
GenericTransfer(device::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) |
.WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED)); |
- EXPECT_CALL( |
- *mock_device_handle_.get(), |
- IsochronousTransfer(device::USB_DIRECTION_OUTBOUND, 3, _, 1, 1, 1, _, _)) |
- .WillOnce(InvokeUsbTransferCallback<7>(device::USB_TRANSFER_COMPLETED)); |
+ EXPECT_CALL(*mock_device_handle_.get(), IsochronousTransferOut(3, _, _, _, _)) |
+ .WillOnce(InvokeUsbIsochronousTransferCallback<4>( |
+ device::USB_TRANSFER_COMPLETED)); |
EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); |
ASSERT_TRUE(RunAppTest("api_test/usb/transfer_event")); |
} |