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

Side by Side Diff: media/midi/midi_manager_usb_unittest.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
« no previous file with comments | « media/midi/midi_manager_usb.cc ('k') | media/mojo/services/demuxer_stream_provider_shim.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "media/midi/midi_manager_usb.h" 5 #include "media/midi/midi_manager_usb.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9
10 #include <string> 9 #include <string>
10 #include <utility>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "media/midi/usb_midi_device.h" 17 #include "media/midi/usb_midi_device.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 19
20 namespace media { 20 namespace media {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 Callback callback_; 160 Callback callback_;
161 161
162 private: 162 private:
163 DISALLOW_COPY_AND_ASSIGN(TestUsbMidiDeviceFactory); 163 DISALLOW_COPY_AND_ASSIGN(TestUsbMidiDeviceFactory);
164 }; 164 };
165 165
166 class MidiManagerUsbForTesting : public MidiManagerUsb { 166 class MidiManagerUsbForTesting : public MidiManagerUsb {
167 public: 167 public:
168 explicit MidiManagerUsbForTesting( 168 explicit MidiManagerUsbForTesting(
169 scoped_ptr<UsbMidiDevice::Factory> device_factory) 169 scoped_ptr<UsbMidiDevice::Factory> device_factory)
170 : MidiManagerUsb(device_factory.Pass()) {} 170 : MidiManagerUsb(std::move(device_factory)) {}
171 ~MidiManagerUsbForTesting() override {} 171 ~MidiManagerUsbForTesting() override {}
172 172
173 void CallCompleteInitialization(Result result) { 173 void CallCompleteInitialization(Result result) {
174 CompleteInitialization(result); 174 CompleteInitialization(result);
175 base::RunLoop run_loop; 175 base::RunLoop run_loop;
176 run_loop.RunUntilIdle(); 176 run_loop.RunUntilIdle();
177 } 177 }
178 178
179 private: 179 private:
180 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsbForTesting); 180 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsbForTesting);
181 }; 181 };
182 182
183 class MidiManagerUsbTest : public ::testing::Test { 183 class MidiManagerUsbTest : public ::testing::Test {
184 public: 184 public:
185 MidiManagerUsbTest() : message_loop_(new base::MessageLoop) { 185 MidiManagerUsbTest() : message_loop_(new base::MessageLoop) {
186 scoped_ptr<TestUsbMidiDeviceFactory> factory(new TestUsbMidiDeviceFactory); 186 scoped_ptr<TestUsbMidiDeviceFactory> factory(new TestUsbMidiDeviceFactory);
187 factory_ = factory.get(); 187 factory_ = factory.get();
188 manager_.reset(new MidiManagerUsbForTesting(factory.Pass())); 188 manager_.reset(new MidiManagerUsbForTesting(std::move(factory)));
189 } 189 }
190 ~MidiManagerUsbTest() override { 190 ~MidiManagerUsbTest() override {
191 manager_->Shutdown(); 191 manager_->Shutdown();
192 base::RunLoop run_loop; 192 base::RunLoop run_loop;
193 run_loop.RunUntilIdle(); 193 run_loop.RunUntilIdle();
194 194
195 std::string leftover_logs = logger_.TakeLog(); 195 std::string leftover_logs = logger_.TakeLog();
196 if (!leftover_logs.empty()) { 196 if (!leftover_logs.empty()) {
197 ADD_FAILURE() << "Log should be empty: " << leftover_logs; 197 ADD_FAILURE() << "Log should be empty: " << leftover_logs;
198 } 198 }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 0x03, 0x09, 0x05, 0x82, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x25, 255 0x03, 0x09, 0x05, 0x82, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x25,
256 0x01, 0x01, 0x07, 256 0x01, 0x01, 0x07,
257 }; 257 };
258 device->SetDescriptors(ToVector(descriptors)); 258 device->SetDescriptors(ToVector(descriptors));
259 device->SetManufacturer("vendor1"); 259 device->SetManufacturer("vendor1");
260 device->SetProductName("device1"); 260 device->SetProductName("device1");
261 device->SetDeviceVersion("1.02"); 261 device->SetDeviceVersion("1.02");
262 262
263 Initialize(); 263 Initialize();
264 ScopedVector<UsbMidiDevice> devices; 264 ScopedVector<UsbMidiDevice> devices;
265 devices.push_back(device.Pass()); 265 devices.push_back(std::move(device));
266 EXPECT_FALSE(IsInitializationCallbackInvoked()); 266 EXPECT_FALSE(IsInitializationCallbackInvoked());
267 RunCallbackUntilCallbackInvoked(true, &devices); 267 RunCallbackUntilCallbackInvoked(true, &devices);
268 EXPECT_EQ(Result::OK, GetInitializationResult()); 268 EXPECT_EQ(Result::OK, GetInitializationResult());
269 269
270 ASSERT_EQ(1u, input_ports().size()); 270 ASSERT_EQ(1u, input_ports().size());
271 EXPECT_EQ("usb:port-0-2", input_ports()[0].id); 271 EXPECT_EQ("usb:port-0-2", input_ports()[0].id);
272 EXPECT_EQ("vendor1", input_ports()[0].manufacturer); 272 EXPECT_EQ("vendor1", input_ports()[0].manufacturer);
273 EXPECT_EQ("device1", input_ports()[0].name); 273 EXPECT_EQ("device1", input_ports()[0].name);
274 EXPECT_EQ("1.02", input_ports()[0].version); 274 EXPECT_EQ("1.02", input_ports()[0].version);
275 275
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 device1->SetManufacturer("vendor1"); 315 device1->SetManufacturer("vendor1");
316 device1->SetProductName("device1"); 316 device1->SetProductName("device1");
317 device1->SetDeviceVersion("1.02"); 317 device1->SetDeviceVersion("1.02");
318 device2->SetDescriptors(ToVector(descriptors)); 318 device2->SetDescriptors(ToVector(descriptors));
319 device2->SetManufacturer("vendor2"); 319 device2->SetManufacturer("vendor2");
320 device2->SetProductName("device2"); 320 device2->SetProductName("device2");
321 device2->SetDeviceVersion("98.76"); 321 device2->SetDeviceVersion("98.76");
322 322
323 Initialize(); 323 Initialize();
324 ScopedVector<UsbMidiDevice> devices; 324 ScopedVector<UsbMidiDevice> devices;
325 devices.push_back(device1.Pass()); 325 devices.push_back(std::move(device1));
326 devices.push_back(device2.Pass()); 326 devices.push_back(std::move(device2));
327 EXPECT_FALSE(IsInitializationCallbackInvoked()); 327 EXPECT_FALSE(IsInitializationCallbackInvoked());
328 RunCallbackUntilCallbackInvoked(true, &devices); 328 RunCallbackUntilCallbackInvoked(true, &devices);
329 EXPECT_EQ(Result::OK, GetInitializationResult()); 329 EXPECT_EQ(Result::OK, GetInitializationResult());
330 330
331 ASSERT_EQ(2u, input_ports().size()); 331 ASSERT_EQ(2u, input_ports().size());
332 EXPECT_EQ("usb:port-0-2", input_ports()[0].id); 332 EXPECT_EQ("usb:port-0-2", input_ports()[0].id);
333 EXPECT_EQ("vendor1", input_ports()[0].manufacturer); 333 EXPECT_EQ("vendor1", input_ports()[0].manufacturer);
334 EXPECT_EQ("device1", input_ports()[0].name); 334 EXPECT_EQ("device1", input_ports()[0].name);
335 EXPECT_EQ("1.02", input_ports()[0].version); 335 EXPECT_EQ("1.02", input_ports()[0].version);
336 EXPECT_EQ("usb:port-1-2", input_ports()[1].id); 336 EXPECT_EQ("usb:port-1-2", input_ports()[1].id);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 EXPECT_EQ(Result::INITIALIZATION_ERROR, GetInitializationResult()); 378 EXPECT_EQ(Result::INITIALIZATION_ERROR, GetInitializationResult());
379 } 379 }
380 380
381 TEST_F(MidiManagerUsbTest, InitializeFailBecauseOfInvalidDescriptors) { 381 TEST_F(MidiManagerUsbTest, InitializeFailBecauseOfInvalidDescriptors) {
382 scoped_ptr<FakeUsbMidiDevice> device(new FakeUsbMidiDevice(&logger_)); 382 scoped_ptr<FakeUsbMidiDevice> device(new FakeUsbMidiDevice(&logger_));
383 uint8_t descriptors[] = {0x04}; 383 uint8_t descriptors[] = {0x04};
384 device->SetDescriptors(ToVector(descriptors)); 384 device->SetDescriptors(ToVector(descriptors));
385 385
386 Initialize(); 386 Initialize();
387 ScopedVector<UsbMidiDevice> devices; 387 ScopedVector<UsbMidiDevice> devices;
388 devices.push_back(device.Pass()); 388 devices.push_back(std::move(device));
389 EXPECT_FALSE(IsInitializationCallbackInvoked()); 389 EXPECT_FALSE(IsInitializationCallbackInvoked());
390 RunCallbackUntilCallbackInvoked(true, &devices); 390 RunCallbackUntilCallbackInvoked(true, &devices);
391 EXPECT_EQ(Result::INITIALIZATION_ERROR, GetInitializationResult()); 391 EXPECT_EQ(Result::INITIALIZATION_ERROR, GetInitializationResult());
392 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog()); 392 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog());
393 } 393 }
394 394
395 TEST_F(MidiManagerUsbTest, Send) { 395 TEST_F(MidiManagerUsbTest, Send) {
396 Initialize(); 396 Initialize();
397 scoped_ptr<FakeUsbMidiDevice> device(new FakeUsbMidiDevice(&logger_)); 397 scoped_ptr<FakeUsbMidiDevice> device(new FakeUsbMidiDevice(&logger_));
398 uint8_t descriptors[] = { 398 uint8_t descriptors[] = {
(...skipping 10 matching lines...) Expand all
409 0x03, 0x09, 0x05, 0x82, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x25, 409 0x03, 0x09, 0x05, 0x82, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x25,
410 0x01, 0x01, 0x07, 410 0x01, 0x01, 0x07,
411 }; 411 };
412 412
413 device->SetDescriptors(ToVector(descriptors)); 413 device->SetDescriptors(ToVector(descriptors));
414 uint8_t data[] = { 414 uint8_t data[] = {
415 0x90, 0x45, 0x7f, 0xf0, 0x00, 0x01, 0xf7, 415 0x90, 0x45, 0x7f, 0xf0, 0x00, 0x01, 0xf7,
416 }; 416 };
417 417
418 ScopedVector<UsbMidiDevice> devices; 418 ScopedVector<UsbMidiDevice> devices;
419 devices.push_back(device.Pass()); 419 devices.push_back(std::move(device));
420 EXPECT_FALSE(IsInitializationCallbackInvoked()); 420 EXPECT_FALSE(IsInitializationCallbackInvoked());
421 RunCallbackUntilCallbackInvoked(true, &devices); 421 RunCallbackUntilCallbackInvoked(true, &devices);
422 EXPECT_EQ(Result::OK, GetInitializationResult()); 422 EXPECT_EQ(Result::OK, GetInitializationResult());
423 ASSERT_EQ(2u, manager_->output_streams().size()); 423 ASSERT_EQ(2u, manager_->output_streams().size());
424 424
425 manager_->DispatchSendMidiData(client_.get(), 1, ToVector(data), 0); 425 manager_->DispatchSendMidiData(client_.get(), 1, ToVector(data), 0);
426 // Since UsbMidiDevice::Send is posted as a task, RunLoop should run to 426 // Since UsbMidiDevice::Send is posted as a task, RunLoop should run to
427 // invoke the task. 427 // invoke the task.
428 base::RunLoop run_loop; 428 base::RunLoop run_loop;
429 run_loop.RunUntilIdle(); 429 run_loop.RunUntilIdle();
(...skipping 23 matching lines...) Expand all
453 0x01, 0x01, 0x07, 453 0x01, 0x01, 0x07,
454 }; 454 };
455 455
456 device->SetDescriptors(ToVector(descriptors)); 456 device->SetDescriptors(ToVector(descriptors));
457 uint8_t data[] = { 457 uint8_t data[] = {
458 0x90, 0x45, 0x7f, 0xf0, 0x00, 0x01, 0xf7, 458 0x90, 0x45, 0x7f, 0xf0, 0x00, 0x01, 0xf7,
459 }; 459 };
460 460
461 Initialize(); 461 Initialize();
462 ScopedVector<UsbMidiDevice> devices; 462 ScopedVector<UsbMidiDevice> devices;
463 devices.push_back(device.Pass()); 463 devices.push_back(std::move(device));
464 EXPECT_FALSE(IsInitializationCallbackInvoked()); 464 EXPECT_FALSE(IsInitializationCallbackInvoked());
465 RunCallbackUntilCallbackInvoked(true, &devices); 465 RunCallbackUntilCallbackInvoked(true, &devices);
466 EXPECT_EQ(Result::OK, GetInitializationResult()); 466 EXPECT_EQ(Result::OK, GetInitializationResult());
467 ASSERT_EQ(2u, manager_->output_streams().size()); 467 ASSERT_EQ(2u, manager_->output_streams().size());
468 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog()); 468 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog());
469 469
470 // The specified port index is invalid. The manager must ignore the request. 470 // The specified port index is invalid. The manager must ignore the request.
471 manager_->DispatchSendMidiData(client_.get(), 99, ToVector(data), 0); 471 manager_->DispatchSendMidiData(client_.get(), 99, ToVector(data), 0);
472 EXPECT_EQ("", logger_.TakeLog()); 472 EXPECT_EQ("", logger_.TakeLog());
473 473
(...skipping 22 matching lines...) Expand all
496 device->SetDescriptors(ToVector(descriptors)); 496 device->SetDescriptors(ToVector(descriptors));
497 uint8_t data[] = { 497 uint8_t data[] = {
498 0x09, 0x90, 0x45, 0x7f, 0x04, 0xf0, 0x00, 498 0x09, 0x90, 0x45, 0x7f, 0x04, 0xf0, 0x00,
499 0x01, 0x49, 0x90, 0x88, 0x99, // This data should be ignored (CN = 4). 499 0x01, 0x49, 0x90, 0x88, 0x99, // This data should be ignored (CN = 4).
500 0x05, 0xf7, 0x00, 0x00, 500 0x05, 0xf7, 0x00, 0x00,
501 }; 501 };
502 502
503 Initialize(); 503 Initialize();
504 ScopedVector<UsbMidiDevice> devices; 504 ScopedVector<UsbMidiDevice> devices;
505 UsbMidiDevice* device_raw = device.get(); 505 UsbMidiDevice* device_raw = device.get();
506 devices.push_back(device.Pass()); 506 devices.push_back(std::move(device));
507 EXPECT_FALSE(IsInitializationCallbackInvoked()); 507 EXPECT_FALSE(IsInitializationCallbackInvoked());
508 RunCallbackUntilCallbackInvoked(true, &devices); 508 RunCallbackUntilCallbackInvoked(true, &devices);
509 EXPECT_EQ(Result::OK, GetInitializationResult()); 509 EXPECT_EQ(Result::OK, GetInitializationResult());
510 510
511 manager_->ReceiveUsbMidiData(device_raw, 2, data, arraysize(data), 511 manager_->ReceiveUsbMidiData(device_raw, 2, data, arraysize(data),
512 base::TimeTicks()); 512 base::TimeTicks());
513 Finalize(); 513 Finalize();
514 514
515 EXPECT_EQ( 515 EXPECT_EQ(
516 "UsbMidiDevice::GetDescriptors\n" 516 "UsbMidiDevice::GetDescriptors\n"
(...skipping 30 matching lines...) Expand all
547 ASSERT_EQ(0u, input_ports().size()); 547 ASSERT_EQ(0u, input_ports().size());
548 ASSERT_EQ(0u, output_ports().size()); 548 ASSERT_EQ(0u, output_ports().size());
549 ASSERT_TRUE(manager_->input_stream()); 549 ASSERT_TRUE(manager_->input_stream());
550 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks(); 550 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks();
551 ASSERT_EQ(0u, manager_->output_streams().size()); 551 ASSERT_EQ(0u, manager_->output_streams().size());
552 ASSERT_EQ(0u, jacks.size()); 552 ASSERT_EQ(0u, jacks.size());
553 EXPECT_EQ("", logger_.TakeLog()); 553 EXPECT_EQ("", logger_.TakeLog());
554 554
555 scoped_ptr<FakeUsbMidiDevice> new_device(new FakeUsbMidiDevice(&logger_)); 555 scoped_ptr<FakeUsbMidiDevice> new_device(new FakeUsbMidiDevice(&logger_));
556 new_device->SetDescriptors(ToVector(descriptors)); 556 new_device->SetDescriptors(ToVector(descriptors));
557 manager_->OnDeviceAttached(new_device.Pass()); 557 manager_->OnDeviceAttached(std::move(new_device));
558 558
559 ASSERT_EQ(1u, input_ports().size()); 559 ASSERT_EQ(1u, input_ports().size());
560 ASSERT_EQ(2u, output_ports().size()); 560 ASSERT_EQ(2u, output_ports().size());
561 ASSERT_TRUE(manager_->input_stream()); 561 ASSERT_TRUE(manager_->input_stream());
562 jacks = manager_->input_stream()->jacks(); 562 jacks = manager_->input_stream()->jacks();
563 ASSERT_EQ(2u, manager_->output_streams().size()); 563 ASSERT_EQ(2u, manager_->output_streams().size());
564 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id); 564 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id);
565 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id); 565 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id);
566 ASSERT_EQ(1u, jacks.size()); 566 ASSERT_EQ(1u, jacks.size());
567 EXPECT_EQ(2, jacks[0].endpoint_number()); 567 EXPECT_EQ(2, jacks[0].endpoint_number());
568 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog()); 568 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog());
569 } 569 }
570 570
571 } // namespace 571 } // namespace
572 572
573 } // namespace midi 573 } // namespace midi
574 } // namespace media 574 } // namespace media
OLDNEW
« no previous file with comments | « media/midi/midi_manager_usb.cc ('k') | media/mojo/services/demuxer_stream_provider_shim.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698