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

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

Issue 151343002: Web MIDI: make naming convention be consistent (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review boliu #2 Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « media/midi/midi_message_queue.cc ('k') | media/midi/midi_message_util.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_message_queue.h" 5 #include "media/midi/midi_message_queue.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace media { 9 namespace media {
10 namespace { 10 namespace {
(...skipping 10 matching lines...) Expand all
21 const uint8 kChannelPressureWithRunningStatus[] = { 21 const uint8 kChannelPressureWithRunningStatus[] = {
22 0xd0, 0x01, 0x01, 0x01, 22 0xd0, 0x01, 0x01, 0x01,
23 }; 23 };
24 const uint8 kTimingClock[] = { 0xf8 }; 24 const uint8 kTimingClock[] = { 0xf8 };
25 const uint8 kBrokenData1[] = { 0x90 }; 25 const uint8 kBrokenData1[] = { 0x90 };
26 const uint8 kBrokenData2[] = { 0xf7 }; 26 const uint8 kBrokenData2[] = { 0xf7 };
27 const uint8 kBrokenData3[] = { 0xf2, 0x00 }; 27 const uint8 kBrokenData3[] = { 0xf2, 0x00 };
28 const uint8 kDataByte0[] = { 0x00 }; 28 const uint8 kDataByte0[] = { 0x00 };
29 29
30 template <typename T, size_t N> 30 template <typename T, size_t N>
31 void Add(MIDIMessageQueue* queue, const T(&array)[N]) { 31 void Add(MidiMessageQueue* queue, const T(&array)[N]) {
32 queue->Add(array, N); 32 queue->Add(array, N);
33 } 33 }
34 34
35 template <typename T, size_t N> 35 template <typename T, size_t N>
36 ::testing::AssertionResult ExpectEqualSequence( 36 ::testing::AssertionResult ExpectEqualSequence(
37 const char* expr1, const char* expr2, 37 const char* expr1, const char* expr2,
38 const T(&expected)[N], const std::vector<T>& actual) { 38 const T(&expected)[N], const std::vector<T>& actual) {
39 if (actual.size() != N) { 39 if (actual.size() != N) {
40 return ::testing::AssertionFailure() 40 return ::testing::AssertionFailure()
41 << "expected: " << ::testing::PrintToString(expected) 41 << "expected: " << ::testing::PrintToString(expected)
42 << ", actual: " << ::testing::PrintToString(actual); 42 << ", actual: " << ::testing::PrintToString(actual);
43 } 43 }
44 for (size_t i = 0; i < N; ++i) { 44 for (size_t i = 0; i < N; ++i) {
45 if (expected[i] != actual[i]) { 45 if (expected[i] != actual[i]) {
46 return ::testing::AssertionFailure() 46 return ::testing::AssertionFailure()
47 << "expected: " << ::testing::PrintToString(expected) 47 << "expected: " << ::testing::PrintToString(expected)
48 << ", actual: " << ::testing::PrintToString(actual); 48 << ", actual: " << ::testing::PrintToString(actual);
49 } 49 }
50 } 50 }
51 return ::testing::AssertionSuccess(); 51 return ::testing::AssertionSuccess();
52 } 52 }
53 53
54 #define EXPECT_MESSAGE(expected, actual) \ 54 #define EXPECT_MESSAGE(expected, actual) \
55 EXPECT_PRED_FORMAT2(ExpectEqualSequence, expected, actual) 55 EXPECT_PRED_FORMAT2(ExpectEqualSequence, expected, actual)
56 56
57 TEST(MIDIMessageQueueTest, EmptyData) { 57 TEST(MidiMessageQueueTest, EmptyData) {
58 MIDIMessageQueue queue(false); 58 MidiMessageQueue queue(false);
59 std::vector<uint8> message; 59 std::vector<uint8> message;
60 queue.Get(&message); 60 queue.Get(&message);
61 EXPECT_TRUE(message.empty()); 61 EXPECT_TRUE(message.empty());
62 } 62 }
63 63
64 TEST(MIDIMessageQueueTest, RunningStatusDisabled) { 64 TEST(MidiMessageQueueTest, RunningStatusDisabled) {
65 MIDIMessageQueue queue(false); 65 MidiMessageQueue queue(false);
66 Add(&queue, kGMOn); 66 Add(&queue, kGMOn);
67 Add(&queue, kBrokenData1); 67 Add(&queue, kBrokenData1);
68 Add(&queue, kNoteOnWithRunningStatus); 68 Add(&queue, kNoteOnWithRunningStatus);
69 Add(&queue, kBrokenData2); 69 Add(&queue, kBrokenData2);
70 Add(&queue, kChannelPressureWithRunningStatus); 70 Add(&queue, kChannelPressureWithRunningStatus);
71 Add(&queue, kBrokenData3); 71 Add(&queue, kBrokenData3);
72 Add(&queue, kNoteOn); 72 Add(&queue, kNoteOn);
73 Add(&queue, kBrokenData1); 73 Add(&queue, kBrokenData1);
74 Add(&queue, kGSOn); 74 Add(&queue, kGSOn);
75 Add(&queue, kBrokenData2); 75 Add(&queue, kBrokenData2);
(...skipping 11 matching lines...) Expand all
87 queue.Get(&message); 87 queue.Get(&message);
88 EXPECT_MESSAGE(kNoteOn, message); 88 EXPECT_MESSAGE(kNoteOn, message);
89 queue.Get(&message); 89 queue.Get(&message);
90 EXPECT_MESSAGE(kGSOn, message); 90 EXPECT_MESSAGE(kGSOn, message);
91 queue.Get(&message); 91 queue.Get(&message);
92 EXPECT_MESSAGE(kTimingClock, message); 92 EXPECT_MESSAGE(kTimingClock, message);
93 queue.Get(&message); 93 queue.Get(&message);
94 EXPECT_TRUE(message.empty()); 94 EXPECT_TRUE(message.empty());
95 } 95 }
96 96
97 TEST(MIDIMessageQueueTest, RunningStatusEnabled) { 97 TEST(MidiMessageQueueTest, RunningStatusEnabled) {
98 MIDIMessageQueue queue(true); 98 MidiMessageQueue queue(true);
99 Add(&queue, kGMOn); 99 Add(&queue, kGMOn);
100 Add(&queue, kBrokenData1); 100 Add(&queue, kBrokenData1);
101 Add(&queue, kNoteOnWithRunningStatus); 101 Add(&queue, kNoteOnWithRunningStatus);
102 Add(&queue, kBrokenData2); 102 Add(&queue, kBrokenData2);
103 Add(&queue, kChannelPressureWithRunningStatus); 103 Add(&queue, kChannelPressureWithRunningStatus);
104 Add(&queue, kBrokenData3); 104 Add(&queue, kBrokenData3);
105 Add(&queue, kNoteOn); 105 Add(&queue, kNoteOn);
106 Add(&queue, kBrokenData1); 106 Add(&queue, kBrokenData1);
107 Add(&queue, kGSOn); 107 Add(&queue, kGSOn);
108 Add(&queue, kBrokenData2); 108 Add(&queue, kBrokenData2);
(...skipping 23 matching lines...) Expand all
132 EXPECT_MESSAGE(kNoteOn, message); 132 EXPECT_MESSAGE(kNoteOn, message);
133 queue.Get(&message); 133 queue.Get(&message);
134 EXPECT_MESSAGE(kGSOn, message); 134 EXPECT_MESSAGE(kGSOn, message);
135 queue.Get(&message); 135 queue.Get(&message);
136 EXPECT_MESSAGE(kTimingClock, message); 136 EXPECT_MESSAGE(kTimingClock, message);
137 queue.Get(&message); 137 queue.Get(&message);
138 EXPECT_TRUE(message.empty()) 138 EXPECT_TRUE(message.empty())
139 << "Running status must not be applied to real time messages"; 139 << "Running status must not be applied to real time messages";
140 } 140 }
141 141
142 TEST(MIDIMessageQueueTest, RunningStatusEnabledWithRealTimeEvent) { 142 TEST(MidiMessageQueueTest, RunningStatusEnabledWithRealTimeEvent) {
143 MIDIMessageQueue queue(true); 143 MidiMessageQueue queue(true);
144 const uint8 kNoteOnWithRunningStatusWithkTimingClock[] = { 144 const uint8 kNoteOnWithRunningStatusWithkTimingClock[] = {
145 0x90, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8, 145 0x90, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8, 0x7f, 0xf8, 0x3c, 0xf8,
146 0x7f, 146 0x7f,
147 }; 147 };
148 Add(&queue, kNoteOnWithRunningStatusWithkTimingClock); 148 Add(&queue, kNoteOnWithRunningStatusWithkTimingClock);
149 std::vector<uint8> message; 149 std::vector<uint8> message;
150 queue.Get(&message); 150 queue.Get(&message);
151 EXPECT_MESSAGE(kTimingClock, message); 151 EXPECT_MESSAGE(kTimingClock, message);
152 queue.Get(&message); 152 queue.Get(&message);
153 EXPECT_MESSAGE(kTimingClock, message); 153 EXPECT_MESSAGE(kTimingClock, message);
(...skipping 10 matching lines...) Expand all
164 queue.Get(&message); 164 queue.Get(&message);
165 EXPECT_MESSAGE(kTimingClock, message); 165 EXPECT_MESSAGE(kTimingClock, message);
166 queue.Get(&message); 166 queue.Get(&message);
167 EXPECT_MESSAGE(kNoteOn, message); 167 EXPECT_MESSAGE(kNoteOn, message);
168 queue.Get(&message); 168 queue.Get(&message);
169 EXPECT_TRUE(message.empty()); 169 EXPECT_TRUE(message.empty());
170 } 170 }
171 171
172 } // namespace 172 } // namespace
173 } // namespace media 173 } // namespace media
OLDNEW
« no previous file with comments | « media/midi/midi_message_queue.cc ('k') | media/midi/midi_message_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698