Index: media/midi/midi_message_queue_unittest.cc |
diff --git a/media/midi/midi_message_queue_unittest.cc b/media/midi/midi_message_queue_unittest.cc |
index 3c7122654e7df9bcc45f2fd544e31a6034c1c237..08f1a0bf7487ab25e26b72fa135bbe53fd2441ff 100644 |
--- a/media/midi/midi_message_queue_unittest.cc |
+++ b/media/midi/midi_message_queue_unittest.cc |
@@ -22,6 +22,7 @@ const uint8 kChannelPressureWithRunningStatus[] = { |
0xd0, 0x01, 0x01, 0x01, |
}; |
const uint8 kTimingClock[] = { 0xf8 }; |
+const uint8 kMTCFrame[] = { 0xf1, 0x00 }; |
const uint8 kBrokenData1[] = { 0x90 }; |
const uint8 kBrokenData2[] = { 0xf7 }; |
const uint8 kBrokenData3[] = { 0xf2, 0x00 }; |
@@ -141,11 +142,11 @@ TEST(MidiMessageQueueTest, RunningStatusEnabled) { |
TEST(MidiMessageQueueTest, RunningStatusEnabledWithRealTimeEvent) { |
MidiMessageQueue queue(true); |
- const uint8 kNoteOnWithRunningStatusWithkTimingClock[] = { |
+ const uint8 kNoteOnWithRunningStatusWithTimingClock[] = { |
0x90, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8, |
0x7f, |
}; |
- Add(&queue, kNoteOnWithRunningStatusWithkTimingClock); |
+ Add(&queue, kNoteOnWithRunningStatusWithTimingClock); |
std::vector<uint8> message; |
queue.Get(&message); |
EXPECT_MESSAGE(kTimingClock, message); |
@@ -169,5 +170,24 @@ TEST(MidiMessageQueueTest, RunningStatusEnabledWithRealTimeEvent) { |
EXPECT_TRUE(message.empty()); |
} |
+TEST(MidiMessageQueueTest, RunningStatusEnabledWithSystemCommonMessage) { |
+ MidiMessageQueue queue(true); |
+ const uint8 kNoteOnWithRunningStatusWithSystemCommonMessage[] = { |
+ 0x90, 0x3c, 0x7f, 0xf1, 0x00, 0x3c, 0x7f, 0xf8, 0x90, 0x3c, 0x7f, |
+ }; |
+ Add(&queue, kNoteOnWithRunningStatusWithSystemCommonMessage); |
+ std::vector<uint8> message; |
+ queue.Get(&message); |
+ EXPECT_MESSAGE(kNoteOn, message); |
+ queue.Get(&message); |
+ EXPECT_MESSAGE(kMTCFrame, message); |
+ queue.Get(&message); |
+ EXPECT_MESSAGE(kTimingClock, message) << "Running status should be reset"; |
+ queue.Get(&message); |
+ EXPECT_MESSAGE(kNoteOn, message); |
+ queue.Get(&message); |
+ EXPECT_TRUE(message.empty()); |
+} |
+ |
} // namespace |
} // namespace media |