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..df6b319b23d2514fb82f13dc0bda2def7e03db04 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) { |
xhwang
2015/04/15 04:22:57
This naming is hard to read. But I don't have bett
DaleCurtis
2015/04/15 18:42:28
Yeah, it's a bit wordy, but explicit :) I've clean
|
+ return tick_clock_->NowTicks() == |
+ time_source_.GetWallClockTime(base::TimeDelta::FromSeconds(seconds)); |
+ } |
- private: |
+ bool IsWallClockTimeNullForMediaTimeInSeconds(int seconds) { |
+ return base::TimeTicks() == |
+ time_source_.GetWallClockTime(base::TimeDelta::FromSeconds(seconds)); |
+ } |
+ |
+ 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(IsWallClockTimeNullForMediaTimeInSeconds(0)); |
} |
TEST_F(WallClockTimeSourceTest, InitialTimeIsNotTicking) { |
EXPECT_EQ(0, CurrentMediaTimeInSeconds()); |
+ EXPECT_TRUE(IsWallClockTimeNullForMediaTimeInSeconds(0)); |
AdvanceTimeInSeconds(100); |
EXPECT_EQ(0, CurrentMediaTimeInSeconds()); |
+ EXPECT_TRUE(IsWallClockTimeNullForMediaTimeInSeconds(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(IsWallClockTimeNullForMediaTimeInSeconds(0)); |
SetMediaTimeInSeconds(10); |
EXPECT_EQ(10, CurrentMediaTimeInSeconds()); |
+ EXPECT_TRUE(IsWallClockTimeNullForMediaTimeInSeconds(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(IsWallClockTimeNullForMediaTimeInSeconds(10)); |
} |
} // namespace media |