Chromium Code Reviews| Index: media/base/clock_unittest.cc |
| diff --git a/media/base/clock_unittest.cc b/media/base/clock_unittest.cc |
| index dcf39ae6c1494441c3062878116bf03e4d28bda8..92a63261663bb5834e8898a8838cd17303465404 100644 |
| --- a/media/base/clock_unittest.cc |
| +++ b/media/base/clock_unittest.cc |
| @@ -156,14 +156,14 @@ TEST(ClockTest, SetTime_Paused) { |
| // We'll remain paused while we set the time. The time should be simply |
| // updated without accessing the time provider. |
| InSequence s; |
| - StrictMock<base::MockTimeProvider> mock_time; |
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(120); |
| const base::TimeDelta kFirstTime = base::TimeDelta::FromSeconds(4); |
| const base::TimeDelta kSecondTime = base::TimeDelta::FromSeconds(16); |
| Clock clock(&base::MockTimeProvider::StaticNow); |
| - clock.SetTime(kFirstTime); |
| + clock.SetTime(kFirstTime, kDuration); |
| EXPECT_EQ(kFirstTime, clock.Elapsed()); |
| - clock.SetTime(kSecondTime); |
| + clock.SetTime(kSecondTime, kDuration); |
| EXPECT_EQ(kSecondTime, clock.Elapsed()); |
| } |
| @@ -179,12 +179,50 @@ TEST(ClockTest, SetTime_Playing) { |
| EXPECT_CALL(mock_time, Now()) |
| .WillOnce(Return(base::Time::FromDoubleT(12))); |
| const base::TimeDelta kZero; |
| - const base::TimeDelta kExepected = base::TimeDelta::FromSeconds(16); |
| + const base::TimeDelta kExpected = base::TimeDelta::FromSeconds(16); |
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(120); |
| + |
| + Clock clock(&base::MockTimeProvider::StaticNow); |
| + EXPECT_EQ(kZero, clock.Play()); |
| + clock.SetTime(base::TimeDelta::FromSeconds(12), kDuration); |
| + EXPECT_EQ(kExpected, clock.Elapsed()); |
| +} |
| + |
| +TEST(ClockTest, SetMediaDuration_Paused) { |
| + InSequence s; |
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(120); |
| + const base::TimeDelta kTimeOverDuration = |
| + kDuration + base::TimeDelta::FromSeconds(4); |
| + |
| + Clock clock(&base::MockTimeProvider::StaticNow); |
| + clock.set_media_duration(kDuration); |
| + EXPECT_EQ(kDuration, clock.media_duration()); |
| + |
| + // Elapsed time should always be capped at the duration of the media. |
| + clock.SetTime(kTimeOverDuration, kTimeOverDuration); |
| + EXPECT_EQ(kDuration, clock.Elapsed()); |
| +} |
| + |
| +TEST(ClockTest, SetMediaDuration_Playing) { |
| + InSequence s; |
| + StrictMock<base::MockTimeProvider> mock_time; |
| + EXPECT_CALL(mock_time, Now()) |
| + .WillOnce(Return(base::Time::FromDoubleT(4))); |
| + EXPECT_CALL(mock_time, Now()) |
| + .WillOnce(Return(base::Time::FromDoubleT(124))); |
| + EXPECT_CALL(mock_time, Now()) |
| + .WillOnce(Return(base::Time::FromDoubleT(128))); |
| + const base::TimeDelta kZero; |
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(120); |
| + const base::TimeDelta kTimeOverDuration = |
| + kDuration + base::TimeDelta::FromSeconds(4); |
| Clock clock(&base::MockTimeProvider::StaticNow); |
| EXPECT_EQ(kZero, clock.Play()); |
| - clock.SetTime(base::TimeDelta::FromSeconds(12)); |
| - EXPECT_EQ(kExepected, clock.Elapsed()); |
| + clock.set_media_duration(kDuration); |
| + EXPECT_EQ(kDuration, clock.media_duration()); |
| + clock.SetTime(kTimeOverDuration, kTimeOverDuration); |
| + EXPECT_EQ(kDuration, clock.Elapsed()); |
| } |
|
acolwell GONE FROM CHROMIUM
2012/01/13 22:51:21
Please add some unit tests for set_max_time enforc
vrk (LEFT CHROMIUM)
2012/01/21 00:54:14
Done... and actually this was such an annoying tes
|
| } // namespace media |