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

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

Issue 1177973003: [Web MIDI] Use Android MIDI API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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/midi/midi_output_port_android.h » ('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 <string> 7 #include <string>
8 8
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 void CompleteStartSession(Result result) override { 110 void CompleteStartSession(Result result) override {
111 complete_start_session_ = true; 111 complete_start_session_ = true;
112 result_ = result; 112 result_ = result;
113 } 113 }
114 114
115 void ReceiveMidiData(uint32 port_index, 115 void ReceiveMidiData(uint32 port_index,
116 const uint8* data, 116 const uint8* data,
117 size_t size, 117 size_t size,
118 double timestamp) override { 118 double timestamp) override {
119 logger_->AddLog("MidiManagerClient::ReceiveMidiData "); 119 logger_->AddLog("MidiManagerClient::ReceiveMidiData ");
120 logger_->AddLog(base::StringPrintf("port_index = %d data =", port_index)); 120 logger_->AddLog(
121 base::StringPrintf("usb:port_index = %d data =", port_index));
121 for (size_t i = 0; i < size; ++i) 122 for (size_t i = 0; i < size; ++i)
122 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i])); 123 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i]));
123 logger_->AddLog("\n"); 124 logger_->AddLog("\n");
124 } 125 }
125 126
126 void AccumulateMidiBytesSent(size_t size) override { 127 void AccumulateMidiBytesSent(size_t size) override {
127 logger_->AddLog("MidiManagerClient::AccumulateMidiBytesSent "); 128 logger_->AddLog("MidiManagerClient::AccumulateMidiBytesSent ");
128 // Windows has no "%zu". 129 // Windows has no "%zu".
129 logger_->AddLog(base::StringPrintf("size = %u\n", 130 logger_->AddLog(base::StringPrintf("size = %u\n",
130 static_cast<unsigned>(size))); 131 static_cast<unsigned>(size)));
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 device->SetDeviceVersion("1.02"); 253 device->SetDeviceVersion("1.02");
253 254
254 Initialize(); 255 Initialize();
255 ScopedVector<UsbMidiDevice> devices; 256 ScopedVector<UsbMidiDevice> devices;
256 devices.push_back(device.Pass()); 257 devices.push_back(device.Pass());
257 EXPECT_FALSE(IsInitializationCallbackInvoked()); 258 EXPECT_FALSE(IsInitializationCallbackInvoked());
258 RunCallbackUntilCallbackInvoked(true, &devices); 259 RunCallbackUntilCallbackInvoked(true, &devices);
259 EXPECT_EQ(Result::OK, GetInitializationResult()); 260 EXPECT_EQ(Result::OK, GetInitializationResult());
260 261
261 ASSERT_EQ(1u, input_ports().size()); 262 ASSERT_EQ(1u, input_ports().size());
262 EXPECT_EQ("port-0-2", input_ports()[0].id); 263 EXPECT_EQ("usb:port-0-2", input_ports()[0].id);
263 EXPECT_EQ("vendor1", input_ports()[0].manufacturer); 264 EXPECT_EQ("vendor1", input_ports()[0].manufacturer);
264 EXPECT_EQ("device1", input_ports()[0].name); 265 EXPECT_EQ("device1", input_ports()[0].name);
265 EXPECT_EQ("1.02", input_ports()[0].version); 266 EXPECT_EQ("1.02", input_ports()[0].version);
266 267
267 ASSERT_EQ(2u, output_ports().size()); 268 ASSERT_EQ(2u, output_ports().size());
268 EXPECT_EQ("port-0-0", output_ports()[0].id); 269 EXPECT_EQ("usb:port-0-0", output_ports()[0].id);
269 EXPECT_EQ("vendor1", output_ports()[0].manufacturer); 270 EXPECT_EQ("vendor1", output_ports()[0].manufacturer);
270 EXPECT_EQ("device1", output_ports()[0].name); 271 EXPECT_EQ("device1", output_ports()[0].name);
271 EXPECT_EQ("1.02", output_ports()[0].version); 272 EXPECT_EQ("1.02", output_ports()[0].version);
272 EXPECT_EQ("port-0-1", output_ports()[1].id); 273 EXPECT_EQ("usb:port-0-1", output_ports()[1].id);
273 EXPECT_EQ("vendor1", output_ports()[1].manufacturer); 274 EXPECT_EQ("vendor1", output_ports()[1].manufacturer);
274 EXPECT_EQ("device1", output_ports()[1].name); 275 EXPECT_EQ("device1", output_ports()[1].name);
275 EXPECT_EQ("1.02", output_ports()[1].version); 276 EXPECT_EQ("1.02", output_ports()[1].version);
276 277
277 ASSERT_TRUE(manager_->input_stream()); 278 ASSERT_TRUE(manager_->input_stream());
278 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks(); 279 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks();
279 ASSERT_EQ(2u, manager_->output_streams().size()); 280 ASSERT_EQ(2u, manager_->output_streams().size());
280 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id); 281 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id);
281 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id); 282 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id);
282 ASSERT_EQ(1u, jacks.size()); 283 ASSERT_EQ(1u, jacks.size());
(...skipping 30 matching lines...) Expand all
313 314
314 Initialize(); 315 Initialize();
315 ScopedVector<UsbMidiDevice> devices; 316 ScopedVector<UsbMidiDevice> devices;
316 devices.push_back(device1.Pass()); 317 devices.push_back(device1.Pass());
317 devices.push_back(device2.Pass()); 318 devices.push_back(device2.Pass());
318 EXPECT_FALSE(IsInitializationCallbackInvoked()); 319 EXPECT_FALSE(IsInitializationCallbackInvoked());
319 RunCallbackUntilCallbackInvoked(true, &devices); 320 RunCallbackUntilCallbackInvoked(true, &devices);
320 EXPECT_EQ(Result::OK, GetInitializationResult()); 321 EXPECT_EQ(Result::OK, GetInitializationResult());
321 322
322 ASSERT_EQ(2u, input_ports().size()); 323 ASSERT_EQ(2u, input_ports().size());
323 EXPECT_EQ("port-0-2", input_ports()[0].id); 324 EXPECT_EQ("usb:port-0-2", input_ports()[0].id);
324 EXPECT_EQ("vendor1", input_ports()[0].manufacturer); 325 EXPECT_EQ("vendor1", input_ports()[0].manufacturer);
325 EXPECT_EQ("device1", input_ports()[0].name); 326 EXPECT_EQ("device1", input_ports()[0].name);
326 EXPECT_EQ("1.02", input_ports()[0].version); 327 EXPECT_EQ("1.02", input_ports()[0].version);
327 EXPECT_EQ("port-1-2", input_ports()[1].id); 328 EXPECT_EQ("usb:port-1-2", input_ports()[1].id);
328 EXPECT_EQ("vendor2", input_ports()[1].manufacturer); 329 EXPECT_EQ("vendor2", input_ports()[1].manufacturer);
329 EXPECT_EQ("device2", input_ports()[1].name); 330 EXPECT_EQ("device2", input_ports()[1].name);
330 EXPECT_EQ("98.76", input_ports()[1].version); 331 EXPECT_EQ("98.76", input_ports()[1].version);
331 332
332 ASSERT_EQ(4u, output_ports().size()); 333 ASSERT_EQ(4u, output_ports().size());
333 EXPECT_EQ("port-0-0", output_ports()[0].id); 334 EXPECT_EQ("usb:port-0-0", output_ports()[0].id);
334 EXPECT_EQ("vendor1", output_ports()[0].manufacturer); 335 EXPECT_EQ("vendor1", output_ports()[0].manufacturer);
335 EXPECT_EQ("device1", output_ports()[0].name); 336 EXPECT_EQ("device1", output_ports()[0].name);
336 EXPECT_EQ("1.02", output_ports()[0].version); 337 EXPECT_EQ("1.02", output_ports()[0].version);
337 EXPECT_EQ("port-0-1", output_ports()[1].id); 338 EXPECT_EQ("usb:port-0-1", output_ports()[1].id);
338 EXPECT_EQ("vendor1", output_ports()[1].manufacturer); 339 EXPECT_EQ("vendor1", output_ports()[1].manufacturer);
339 EXPECT_EQ("device1", output_ports()[1].name); 340 EXPECT_EQ("device1", output_ports()[1].name);
340 EXPECT_EQ("1.02", output_ports()[1].version); 341 EXPECT_EQ("1.02", output_ports()[1].version);
341 EXPECT_EQ("port-1-0", output_ports()[2].id); 342 EXPECT_EQ("usb:port-1-0", output_ports()[2].id);
342 EXPECT_EQ("vendor2", output_ports()[2].manufacturer); 343 EXPECT_EQ("vendor2", output_ports()[2].manufacturer);
343 EXPECT_EQ("device2", output_ports()[2].name); 344 EXPECT_EQ("device2", output_ports()[2].name);
344 EXPECT_EQ("98.76", output_ports()[2].version); 345 EXPECT_EQ("98.76", output_ports()[2].version);
345 EXPECT_EQ("port-1-1", output_ports()[3].id); 346 EXPECT_EQ("usb:port-1-1", output_ports()[3].id);
346 EXPECT_EQ("vendor2", output_ports()[3].manufacturer); 347 EXPECT_EQ("vendor2", output_ports()[3].manufacturer);
347 EXPECT_EQ("device2", output_ports()[3].name); 348 EXPECT_EQ("device2", output_ports()[3].name);
348 EXPECT_EQ("98.76", output_ports()[3].version); 349 EXPECT_EQ("98.76", output_ports()[3].version);
349 350
350 ASSERT_TRUE(manager_->input_stream()); 351 ASSERT_TRUE(manager_->input_stream());
351 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks(); 352 std::vector<UsbMidiJack> jacks = manager_->input_stream()->jacks();
352 ASSERT_EQ(4u, manager_->output_streams().size()); 353 ASSERT_EQ(4u, manager_->output_streams().size());
353 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id); 354 EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id);
354 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id); 355 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id);
355 ASSERT_EQ(2u, jacks.size()); 356 ASSERT_EQ(2u, jacks.size());
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 UsbMidiDevice* device_raw = device.get(); 506 UsbMidiDevice* device_raw = device.get();
506 devices.push_back(device.Pass()); 507 devices.push_back(device.Pass());
507 EXPECT_FALSE(IsInitializationCallbackInvoked()); 508 EXPECT_FALSE(IsInitializationCallbackInvoked());
508 RunCallbackUntilCallbackInvoked(true, &devices); 509 RunCallbackUntilCallbackInvoked(true, &devices);
509 EXPECT_EQ(Result::OK, GetInitializationResult()); 510 EXPECT_EQ(Result::OK, GetInitializationResult());
510 511
511 manager_->ReceiveUsbMidiData(device_raw, 2, data, arraysize(data), 512 manager_->ReceiveUsbMidiData(device_raw, 2, data, arraysize(data),
512 base::TimeTicks()); 513 base::TimeTicks());
513 Finalize(); 514 Finalize();
514 515
515 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n" 516 EXPECT_EQ(
516 "MidiManagerClient::ReceiveMidiData port_index = 0 " 517 "UsbMidiDevice::GetDescriptors\n"
517 "data = 0x90 0x45 0x7f\n" 518 "MidiManagerClient::ReceiveMidiData usb:port_index = 0 "
518 "MidiManagerClient::ReceiveMidiData port_index = 0 " 519 "data = 0x90 0x45 0x7f\n"
519 "data = 0xf0 0x00 0x01\n" 520 "MidiManagerClient::ReceiveMidiData usb:port_index = 0 "
520 "MidiManagerClient::ReceiveMidiData port_index = 0 data = 0xf7\n", 521 "data = 0xf0 0x00 0x01\n"
521 logger_.TakeLog()); 522 "MidiManagerClient::ReceiveMidiData usb:port_index = 0 data = 0xf7\n",
523 logger_.TakeLog());
522 } 524 }
523 525
524 TEST_F(MidiManagerUsbTest, AttachDevice) { 526 TEST_F(MidiManagerUsbTest, AttachDevice) {
525 uint8 descriptors[] = { 527 uint8 descriptors[] = {
526 0x12, 0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1a, 528 0x12, 0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1a,
527 0x2d, 0x75, 0x54, 0x02, 0x00, 0x02, 0x00, 0x01, 0x09, 0x02, 529 0x2d, 0x75, 0x54, 0x02, 0x00, 0x02, 0x00, 0x01, 0x09, 0x02,
528 0x75, 0x00, 0x02, 0x01, 0x00, 0x80, 0x30, 0x09, 0x04, 0x00, 530 0x75, 0x00, 0x02, 0x01, 0x00, 0x80, 0x30, 0x09, 0x04, 0x00,
529 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, 0x24, 0x01, 0x00, 531 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, 0x24, 0x01, 0x00,
530 0x01, 0x09, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01, 0x00, 0x02, 532 0x01, 0x09, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01, 0x00, 0x02,
531 0x01, 0x03, 0x00, 0x00, 0x07, 0x24, 0x01, 0x00, 0x01, 0x51, 533 0x01, 0x03, 0x00, 0x00, 0x07, 0x24, 0x01, 0x00, 0x01, 0x51,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id); 568 EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id);
567 ASSERT_EQ(1u, jacks.size()); 569 ASSERT_EQ(1u, jacks.size());
568 EXPECT_EQ(2, jacks[0].endpoint_number()); 570 EXPECT_EQ(2, jacks[0].endpoint_number());
569 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog()); 571 EXPECT_EQ("UsbMidiDevice::GetDescriptors\n", logger_.TakeLog());
570 } 572 }
571 573
572 } // namespace 574 } // namespace
573 575
574 } // namespace midi 576 } // namespace midi
575 } // namespace media 577 } // namespace media
OLDNEW
« no previous file with comments | « media/midi/midi_manager_usb.cc ('k') | media/midi/midi_output_port_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698