| Index: media/midi/midi_manager_usb_unittest.cc
|
| diff --git a/media/midi/midi_manager_usb_unittest.cc b/media/midi/midi_manager_usb_unittest.cc
|
| index 8552403024765aad2ceef1427bd516ea73c5ee52..b8044cd8b079622ab7ee12e52d8ce10f7fde98e1 100644
|
| --- a/media/midi/midi_manager_usb_unittest.cc
|
| +++ b/media/midi/midi_manager_usb_unittest.cc
|
| @@ -250,6 +250,51 @@ TEST_F(MidiManagerUsbTest, Initialize) {
|
| EXPECT_EQ("UsbMidiDevice::GetDescriptor\n", logger_.TakeLog());
|
| }
|
|
|
| +TEST_F(MidiManagerUsbTest, InitializeMultipleDevices) {
|
| + scoped_ptr<FakeUsbMidiDevice> device1(new FakeUsbMidiDevice(&logger_));
|
| + scoped_ptr<FakeUsbMidiDevice> device2(new FakeUsbMidiDevice(&logger_));
|
| + uint8 descriptor[] = {
|
| + 0x12, 0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1a, 0x2d, 0x75,
|
| + 0x54, 0x02, 0x00, 0x02, 0x00, 0x01, 0x09, 0x02, 0x75, 0x00, 0x02, 0x01,
|
| + 0x00, 0x80, 0x30, 0x09, 0x04, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
| + 0x09, 0x24, 0x01, 0x00, 0x01, 0x09, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01,
|
| + 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x07, 0x24, 0x01, 0x00, 0x01, 0x51,
|
| + 0x00, 0x06, 0x24, 0x02, 0x01, 0x02, 0x00, 0x06, 0x24, 0x02, 0x01, 0x03,
|
| + 0x00, 0x06, 0x24, 0x02, 0x02, 0x06, 0x00, 0x09, 0x24, 0x03, 0x01, 0x07,
|
| + 0x01, 0x06, 0x01, 0x00, 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x02, 0x01,
|
| + 0x00, 0x09, 0x24, 0x03, 0x02, 0x05, 0x01, 0x03, 0x01, 0x00, 0x09, 0x05,
|
| + 0x02, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x25, 0x01, 0x02, 0x02,
|
| + 0x03, 0x09, 0x05, 0x82, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x25,
|
| + 0x01, 0x01, 0x07,
|
| + };
|
| + device1->SetDescriptor(ToVector(descriptor));
|
| + device2->SetDescriptor(ToVector(descriptor));
|
| +
|
| + Initialize();
|
| + ScopedVector<UsbMidiDevice> devices;
|
| + devices.push_back(device1.release());
|
| + devices.push_back(device2.release());
|
| + EXPECT_FALSE(IsInitializationCallbackInvoked());
|
| + RunCallbackUntilCallbackInvoked(true, &devices);
|
| + EXPECT_EQ(MIDI_OK, GetInitializationResult());
|
| +
|
| + ASSERT_EQ(2u, input_ports().size());
|
| + ASSERT_EQ(4u, output_ports().size());
|
| + ASSERT_TRUE(manager_->input_stream());
|
| + std::vector<UsbMidiInputStream::JackUniqueKey> keys =
|
| + manager_->input_stream()->RegisteredJackKeysForTesting();
|
| + ASSERT_EQ(4u, manager_->output_streams().size());
|
| + EXPECT_EQ(2u, manager_->output_streams()[0]->jack().jack_id);
|
| + EXPECT_EQ(3u, manager_->output_streams()[1]->jack().jack_id);
|
| + ASSERT_EQ(2u, keys.size());
|
| + EXPECT_EQ(2, keys[0].endpoint_number);
|
| +
|
| + EXPECT_EQ(
|
| + "UsbMidiDevice::GetDescriptor\n"
|
| + "UsbMidiDevice::GetDescriptor\n",
|
| + logger_.TakeLog());
|
| +}
|
| +
|
| TEST_F(MidiManagerUsbTest, InitializeFail) {
|
| Initialize();
|
|
|
|
|