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 |