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

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

Issue 1618393004: Update device/usb and its Mojo interface for variable size ISO packets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "chrome/browser/extensions/extension_apitest.h" 7 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "content/public/browser/browser_thread.h" 8 #include "content/public/browser/browser_thread.h"
9 #include "content/public/test/test_utils.h" 9 #include "content/public/test/test_utils.h"
10 #include "device/core/mock_device_client.h" 10 #include "device/core/mock_device_client.h"
(...skipping 30 matching lines...) Expand all
41 } 41 }
42 42
43 ACTION_TEMPLATE(InvokeUsbTransferCallback, 43 ACTION_TEMPLATE(InvokeUsbTransferCallback,
44 HAS_1_TEMPLATE_PARAMS(int, k), 44 HAS_1_TEMPLATE_PARAMS(int, k),
45 AND_1_VALUE_PARAMS(p1)) { 45 AND_1_VALUE_PARAMS(p1)) {
46 net::IOBuffer* io_buffer = new net::IOBuffer(1); 46 net::IOBuffer* io_buffer = new net::IOBuffer(1);
47 memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads. 47 memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads.
48 ::std::tr1::get<k>(args).Run(p1, io_buffer, 1); 48 ::std::tr1::get<k>(args).Run(p1, io_buffer, 1);
49 } 49 }
50 50
51 ACTION_TEMPLATE(InvokeUsbIsochronousTransferCallback,
52 HAS_1_TEMPLATE_PARAMS(int, k),
53 AND_1_VALUE_PARAMS(p1)) {
54 net::IOBuffer* io_buffer = new net::IOBuffer(1);
55 memset(io_buffer->data(), 0, 1); // Avoid uninitialized reads.
56 std::vector<UsbDeviceHandle::IsochronousPacket> packets(1);
57 packets[0].length = 1;
58 packets[0].transferred_length = 1;
59 packets[0].status = p1;
60 ::std::tr1::get<k>(args).Run(io_buffer, packets);
61 }
62
51 class TestDevicePermissionsPrompt 63 class TestDevicePermissionsPrompt
52 : public DevicePermissionsPrompt, 64 : public DevicePermissionsPrompt,
53 public DevicePermissionsPrompt::Prompt::Observer { 65 public DevicePermissionsPrompt::Prompt::Observer {
54 public: 66 public:
55 explicit TestDevicePermissionsPrompt(content::WebContents* web_contents) 67 explicit TestDevicePermissionsPrompt(content::WebContents* web_contents)
56 : DevicePermissionsPrompt(web_contents) {} 68 : DevicePermissionsPrompt(web_contents) {}
57 69
58 void ShowDialog() override { prompt()->SetObserver(this); } 70 void ShowDialog() override { prompt()->SetObserver(this); }
59 71
60 void OnDevicesChanged() override { 72 void OnDevicesChanged() override {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 1, 170 1,
159 _, 171 _,
160 _)) 172 _))
161 .WillOnce(InvokeUsbTransferCallback<9>(device::USB_TRANSFER_COMPLETED)); 173 .WillOnce(InvokeUsbTransferCallback<9>(device::USB_TRANSFER_COMPLETED));
162 EXPECT_CALL(*mock_device_handle_.get(), 174 EXPECT_CALL(*mock_device_handle_.get(),
163 GenericTransfer(device::USB_DIRECTION_OUTBOUND, 1, _, 1, _, _)) 175 GenericTransfer(device::USB_DIRECTION_OUTBOUND, 1, _, 1, _, _))
164 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED)); 176 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
165 EXPECT_CALL(*mock_device_handle_.get(), 177 EXPECT_CALL(*mock_device_handle_.get(),
166 GenericTransfer(device::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _)) 178 GenericTransfer(device::USB_DIRECTION_OUTBOUND, 2, _, 1, _, _))
167 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED)); 179 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
168 EXPECT_CALL( 180 EXPECT_CALL(*mock_device_handle_.get(), IsochronousTransferOut(3, _, _, _, _))
169 *mock_device_handle_.get(), 181 .WillOnce(InvokeUsbIsochronousTransferCallback<4>(
170 IsochronousTransfer(device::USB_DIRECTION_OUTBOUND, 3, _, 1, 1, 1, _, _)) 182 device::USB_TRANSFER_COMPLETED));
171 .WillOnce(InvokeUsbTransferCallback<7>(device::USB_TRANSFER_COMPLETED));
172 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 183 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
173 ASSERT_TRUE(RunAppTest("api_test/usb/transfer_event")); 184 ASSERT_TRUE(RunAppTest("api_test/usb/transfer_event"));
174 } 185 }
175 186
176 IN_PROC_BROWSER_TEST_F(UsbApiTest, ZeroLengthTransfer) { 187 IN_PROC_BROWSER_TEST_F(UsbApiTest, ZeroLengthTransfer) {
177 EXPECT_CALL(*mock_device_handle_.get(), GenericTransfer(_, _, _, 0, _, _)) 188 EXPECT_CALL(*mock_device_handle_.get(), GenericTransfer(_, _, _, 0, _, _))
178 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED)); 189 .WillOnce(InvokeUsbTransferCallback<5>(device::USB_TRANSFER_COMPLETED));
179 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber()); 190 EXPECT_CALL(*mock_device_handle_.get(), Close()).Times(AnyNumber());
180 ASSERT_TRUE(RunAppTest("api_test/usb/zero_length_transfer")); 191 ASSERT_TRUE(RunAppTest("api_test/usb/zero_length_transfer"));
181 } 192 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 248
238 TestExtensionsAPIClient test_api_client; 249 TestExtensionsAPIClient test_api_client;
239 ASSERT_TRUE(LoadApp("api_test/usb/get_user_selected_devices")); 250 ASSERT_TRUE(LoadApp("api_test/usb/get_user_selected_devices"));
240 ASSERT_TRUE(ready_listener.WaitUntilSatisfied()); 251 ASSERT_TRUE(ready_listener.WaitUntilSatisfied());
241 252
242 device_client_->usb_service()->RemoveDevice(mock_device_); 253 device_client_->usb_service()->RemoveDevice(mock_device_);
243 ASSERT_TRUE(result_listener.WaitUntilSatisfied()); 254 ASSERT_TRUE(result_listener.WaitUntilSatisfied());
244 } 255 }
245 256
246 } // namespace extensions 257 } // namespace extensions
OLDNEW
« extensions/browser/api/usb/usb_api.cc ('K') | « extensions/browser/api/usb/usb_api.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698