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

Side by Side Diff: media/base/clock_unittest.cc

Issue 375003002: Remove duration from media::Clock. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/compiler_specific.h" 5 #include "base/compiler_specific.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/test/simple_test_tick_clock.h" 7 #include "base/test/simple_test_tick_clock.h"
8 #include "base/time/clock.h" 8 #include "base/time/clock.h"
9 #include "media/base/clock.h" 9 #include "media/base/clock.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 12 matching lines...) Expand all
23 } 23 }
24 24
25 } // namespace 25 } // namespace
26 26
27 namespace media { 27 namespace media {
28 28
29 static const int kDurationInSeconds = 120; 29 static const int kDurationInSeconds = 120;
30 30
31 class ClockTest : public ::testing::Test { 31 class ClockTest : public ::testing::Test {
32 public: 32 public:
33 ClockTest() : clock_(&test_tick_clock_) { 33 ClockTest()
34 SetDuration(); 34 : clock_(&test_tick_clock_),
35 } 35 duration_(base::TimeDelta::FromSeconds(kDurationInSeconds)) {}
36 36
37 protected: 37 protected:
38 void SetDuration() {
39 const base::TimeDelta kDuration =
40 base::TimeDelta::FromSeconds(kDurationInSeconds);
41 clock_.SetDuration(kDuration);
42 EXPECT_EQ(kDuration, clock_.Duration());
43 }
44
45 void AdvanceSystemTime(base::TimeDelta delta) { 38 void AdvanceSystemTime(base::TimeDelta delta) {
46 test_tick_clock_.Advance(delta); 39 test_tick_clock_.Advance(delta);
47 } 40 }
48 41
49 base::SimpleTestTickClock test_tick_clock_; 42 base::SimpleTestTickClock test_tick_clock_;
50 Clock clock_; 43 Clock clock_;
51 base::TimeDelta time_elapsed_; 44 base::TimeDelta time_elapsed_;
45 base::TimeDelta duration_;
xhwang 2014/07/08 19:53:10 Now the Clock has no concept of duration. Rename t
scherkus (not reviewing) 2014/07/08 21:20:04 Actually I just removed it instead and created con
52 }; 46 };
53 47
54 TEST_F(ClockTest, Created) { 48 TEST_F(ClockTest, Created) {
55 const base::TimeDelta kExpected = base::TimeDelta::FromSeconds(0); 49 const base::TimeDelta kExpected = base::TimeDelta::FromSeconds(0);
56 EXPECT_EQ(kExpected, clock_.Elapsed()); 50 EXPECT_EQ(kExpected, clock_.Elapsed());
57 } 51 }
58 52
59 TEST_F(ClockTest, Play_NormalSpeed) { 53 TEST_F(ClockTest, Play_NormalSpeed) {
60 const base::TimeDelta kZero; 54 const base::TimeDelta kZero;
61 const base::TimeDelta kTimeToAdvance = base::TimeDelta::FromSeconds(2); 55 const base::TimeDelta kTimeToAdvance = base::TimeDelta::FromSeconds(2);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 EXPECT_EQ(kExpectedFirstPause, clock_.Play()); 142 EXPECT_EQ(kExpectedFirstPause, clock_.Play());
149 AdvanceSystemTime(kPlayDuration); 143 AdvanceSystemTime(kPlayDuration);
150 EXPECT_EQ(kExpectedSecondPause, clock_.Pause()); 144 EXPECT_EQ(kExpectedSecondPause, clock_.Pause());
151 EXPECT_EQ(kExpectedSecondPause, clock_.Elapsed()); 145 EXPECT_EQ(kExpectedSecondPause, clock_.Elapsed());
152 } 146 }
153 147
154 TEST_F(ClockTest, SetTime_Paused) { 148 TEST_F(ClockTest, SetTime_Paused) {
155 const base::TimeDelta kFirstTime = base::TimeDelta::FromSeconds(4); 149 const base::TimeDelta kFirstTime = base::TimeDelta::FromSeconds(4);
156 const base::TimeDelta kSecondTime = base::TimeDelta::FromSeconds(16); 150 const base::TimeDelta kSecondTime = base::TimeDelta::FromSeconds(16);
157 151
158 clock_.SetTime(kFirstTime, clock_.Duration()); 152 clock_.SetTime(kFirstTime, duration_);
159 EXPECT_EQ(kFirstTime, clock_.Elapsed()); 153 EXPECT_EQ(kFirstTime, clock_.Elapsed());
160 clock_.SetTime(kSecondTime, clock_.Duration()); 154 clock_.SetTime(kSecondTime, duration_);
161 EXPECT_EQ(kSecondTime, clock_.Elapsed()); 155 EXPECT_EQ(kSecondTime, clock_.Elapsed());
162 } 156 }
163 157
164 TEST_F(ClockTest, SetTime_Playing) { 158 TEST_F(ClockTest, SetTime_Playing) {
165 // We'll play for 4 seconds, then set the time to 12, then play for 4 more 159 // We'll play for 4 seconds, then set the time to 12, then play for 4 more
166 // seconds. 160 // seconds.
167 const base::TimeDelta kZero; 161 const base::TimeDelta kZero;
168 const base::TimeDelta kPlayDuration = base::TimeDelta::FromSeconds(4); 162 const base::TimeDelta kPlayDuration = base::TimeDelta::FromSeconds(4);
169 const base::TimeDelta kUpdatedTime = base::TimeDelta::FromSeconds(12); 163 const base::TimeDelta kUpdatedTime = base::TimeDelta::FromSeconds(12);
170 const base::TimeDelta kExpected = kUpdatedTime + kPlayDuration; 164 const base::TimeDelta kExpected = kUpdatedTime + kPlayDuration;
171 165
172 EXPECT_EQ(kZero, clock_.Play()); 166 EXPECT_EQ(kZero, clock_.Play());
173 AdvanceSystemTime(kPlayDuration); 167 AdvanceSystemTime(kPlayDuration);
174 168
175 clock_.SetTime(kUpdatedTime, clock_.Duration()); 169 clock_.SetTime(kUpdatedTime, duration_);
176 AdvanceSystemTime(kPlayDuration); 170 AdvanceSystemTime(kPlayDuration);
177 EXPECT_EQ(kExpected, clock_.Elapsed()); 171 EXPECT_EQ(kExpected, clock_.Elapsed());
178 } 172 }
179 173
180 TEST_F(ClockTest, CapAtMediaDuration_Paused) {
181 const base::TimeDelta kDuration =
182 base::TimeDelta::FromSeconds(kDurationInSeconds);
183 const base::TimeDelta kTimeOverDuration =
184 base::TimeDelta::FromSeconds(kDurationInSeconds + 4);
185
186 // Elapsed time should always be capped at the duration of the media.
187 clock_.SetTime(kTimeOverDuration, kTimeOverDuration);
188 EXPECT_EQ(kDuration, clock_.Elapsed());
189 }
190
191 TEST_F(ClockTest, CapAtMediaDuration_Playing) {
192 const base::TimeDelta kZero;
193 const base::TimeDelta kDuration =
194 base::TimeDelta::FromSeconds(kDurationInSeconds);
195 const base::TimeDelta kTimeOverDuration =
196 base::TimeDelta::FromSeconds(kDurationInSeconds + 4);
197
198 // Play for twice as long as the duration of the media.
199 EXPECT_EQ(kZero, clock_.Play());
200 AdvanceSystemTime(2 * kDuration);
201 EXPECT_EQ(kDuration, clock_.Elapsed());
202
203 // Manually set the time past the duration.
204 clock_.SetTime(kTimeOverDuration, kTimeOverDuration);
205 EXPECT_EQ(kDuration, clock_.Elapsed());
206 }
207
208 TEST_F(ClockTest, SetMaxTime) { 174 TEST_F(ClockTest, SetMaxTime) {
209 const base::TimeDelta kZero; 175 const base::TimeDelta kZero;
210 const base::TimeDelta kTimeInterval = base::TimeDelta::FromSeconds(4); 176 const base::TimeDelta kTimeInterval = base::TimeDelta::FromSeconds(4);
211 const base::TimeDelta kMaxTime = base::TimeDelta::FromSeconds(6); 177 const base::TimeDelta kMaxTime = base::TimeDelta::FromSeconds(6);
212 178
213 EXPECT_EQ(kZero, clock_.Play()); 179 EXPECT_EQ(kZero, clock_.Play());
214 clock_.SetMaxTime(kMaxTime); 180 clock_.SetMaxTime(kMaxTime);
215 AdvanceSystemTime(kTimeInterval); 181 AdvanceSystemTime(kTimeInterval);
216 EXPECT_EQ(kTimeInterval, clock_.Elapsed()); 182 EXPECT_EQ(kTimeInterval, clock_.Elapsed());
217 183
218 AdvanceSystemTime(kTimeInterval); 184 AdvanceSystemTime(kTimeInterval);
219 EXPECT_EQ(kMaxTime, clock_.Elapsed()); 185 EXPECT_EQ(kMaxTime, clock_.Elapsed());
220 186
221 AdvanceSystemTime(kTimeInterval); 187 AdvanceSystemTime(kTimeInterval);
222 EXPECT_EQ(kMaxTime, clock_.Elapsed()); 188 EXPECT_EQ(kMaxTime, clock_.Elapsed());
223 } 189 }
224 190
225 TEST_F(ClockTest, SetMaxTime_MultipleTimes) { 191 TEST_F(ClockTest, SetMaxTime_MultipleTimes) {
226 const base::TimeDelta kZero; 192 const base::TimeDelta kZero;
227 const base::TimeDelta kTimeInterval = base::TimeDelta::FromSeconds(4); 193 const base::TimeDelta kTimeInterval = base::TimeDelta::FromSeconds(4);
228 const base::TimeDelta kMaxTime1 = base::TimeDelta::FromSeconds(6); 194 const base::TimeDelta kMaxTime1 = base::TimeDelta::FromSeconds(6);
229 const base::TimeDelta kMaxTime2 = base::TimeDelta::FromSeconds(12); 195 const base::TimeDelta kMaxTime2 = base::TimeDelta::FromSeconds(12);
230 196
231 EXPECT_EQ(kZero, clock_.Play()); 197 EXPECT_EQ(kZero, clock_.Play());
232 clock_.SetMaxTime(clock_.Duration()); 198 clock_.SetMaxTime(duration_);
233 AdvanceSystemTime(kTimeInterval); 199 AdvanceSystemTime(kTimeInterval);
234 EXPECT_EQ(kTimeInterval, clock_.Elapsed()); 200 EXPECT_EQ(kTimeInterval, clock_.Elapsed());
235 201
236 clock_.SetMaxTime(kMaxTime1); 202 clock_.SetMaxTime(kMaxTime1);
237 AdvanceSystemTime(kTimeInterval); 203 AdvanceSystemTime(kTimeInterval);
238 EXPECT_EQ(kMaxTime1, clock_.Elapsed()); 204 EXPECT_EQ(kMaxTime1, clock_.Elapsed());
239 205
240 AdvanceSystemTime(kTimeInterval); 206 AdvanceSystemTime(kTimeInterval);
241 EXPECT_EQ(kMaxTime1, clock_.Elapsed()); 207 EXPECT_EQ(kMaxTime1, clock_.Elapsed());
242 208
243 clock_.SetMaxTime(kMaxTime2); 209 clock_.SetMaxTime(kMaxTime2);
244 EXPECT_EQ(kMaxTime1, clock_.Elapsed()); 210 EXPECT_EQ(kMaxTime1, clock_.Elapsed());
245 211
246 AdvanceSystemTime(kTimeInterval); 212 AdvanceSystemTime(kTimeInterval);
247 EXPECT_EQ(kMaxTime1 + kTimeInterval, clock_.Elapsed()); 213 EXPECT_EQ(kMaxTime1 + kTimeInterval, clock_.Elapsed());
248 214
249 AdvanceSystemTime(kTimeInterval); 215 AdvanceSystemTime(kTimeInterval);
250 EXPECT_EQ(kMaxTime2, clock_.Elapsed()); 216 EXPECT_EQ(kMaxTime2, clock_.Elapsed());
251 } 217 }
252 218
253 } // namespace media 219 } // namespace media
OLDNEW
« media/base/clock.h ('K') | « media/base/clock.cc ('k') | media/base/pipeline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698