| Index: media/base/wall_clock_time_source_unittest.cc
|
| diff --git a/media/base/wall_clock_time_source_unittest.cc b/media/base/wall_clock_time_source_unittest.cc
|
| index 08a424d42a406de06e6900d77f2ca8ed15f1c863..fe8e04c1e82ad4460fa9c625106f13b39cb663bf 100644
|
| --- a/media/base/wall_clock_time_source_unittest.cc
|
| +++ b/media/base/wall_clock_time_source_unittest.cc
|
| @@ -13,6 +13,7 @@ class WallClockTimeSourceTest : public testing::Test {
|
| WallClockTimeSourceTest() : tick_clock_(new base::SimpleTestTickClock()) {
|
| time_source_.SetTickClockForTesting(
|
| scoped_ptr<base::TickClock>(tick_clock_));
|
| + AdvanceTimeInSeconds(1);
|
| }
|
| ~WallClockTimeSourceTest() override {}
|
|
|
| @@ -28,9 +29,18 @@ class WallClockTimeSourceTest : public testing::Test {
|
| return time_source_.SetMediaTime(base::TimeDelta::FromSeconds(seconds));
|
| }
|
|
|
| - WallClockTimeSource time_source_;
|
| + bool IsWallClockNowForMediaTimeInSeconds(int seconds) {
|
| + return tick_clock_->NowTicks() ==
|
| + time_source_.GetWallClockTime(base::TimeDelta::FromSeconds(seconds));
|
| + }
|
|
|
| - private:
|
| + bool IsWallClockNullForMediaTimeInSeconds(int seconds) {
|
| + return time_source_.GetWallClockTime(base::TimeDelta::FromSeconds(seconds))
|
| + .is_null();
|
| + }
|
| +
|
| + protected:
|
| + WallClockTimeSource time_source_;
|
| base::SimpleTestTickClock* tick_clock_; // Owned by |time_source_|.
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WallClockTimeSourceTest);
|
| @@ -38,26 +48,33 @@ class WallClockTimeSourceTest : public testing::Test {
|
|
|
| TEST_F(WallClockTimeSourceTest, InitialTimeIsZero) {
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(0));
|
| }
|
|
|
| TEST_F(WallClockTimeSourceTest, InitialTimeIsNotTicking) {
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(0));
|
| AdvanceTimeInSeconds(100);
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(0));
|
| }
|
|
|
| TEST_F(WallClockTimeSourceTest, InitialPlaybackRateIsOne) {
|
| time_source_.StartTicking();
|
|
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(0));
|
| AdvanceTimeInSeconds(100);
|
| EXPECT_EQ(100, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(100));
|
| }
|
|
|
| TEST_F(WallClockTimeSourceTest, SetMediaTime) {
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(0));
|
| SetMediaTimeInSeconds(10);
|
| EXPECT_EQ(10, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(10));
|
| }
|
|
|
| TEST_F(WallClockTimeSourceTest, SetPlaybackRate) {
|
| @@ -65,26 +82,33 @@ TEST_F(WallClockTimeSourceTest, SetPlaybackRate) {
|
|
|
| time_source_.SetPlaybackRate(0.5);
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(0));
|
| AdvanceTimeInSeconds(10);
|
| EXPECT_EQ(5, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(5));
|
|
|
| time_source_.SetPlaybackRate(2);
|
| EXPECT_EQ(5, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(5));
|
| AdvanceTimeInSeconds(10);
|
| EXPECT_EQ(25, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(25));
|
| }
|
|
|
| TEST_F(WallClockTimeSourceTest, StopTicking) {
|
| time_source_.StartTicking();
|
|
|
| EXPECT_EQ(0, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(0));
|
| AdvanceTimeInSeconds(10);
|
| EXPECT_EQ(10, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(10));
|
|
|
| time_source_.StopTicking();
|
|
|
| AdvanceTimeInSeconds(10);
|
| EXPECT_EQ(10, CurrentMediaTimeInSeconds());
|
| + EXPECT_TRUE(IsWallClockNullForMediaTimeInSeconds(10));
|
| }
|
|
|
| } // namespace media
|
|
|