OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 // Edge cases | 42 // Edge cases |
43 EXPECT_TRUE( TimeIsLaterOrEqual(ts_earlier, ts_earlier)); | 43 EXPECT_TRUE( TimeIsLaterOrEqual(ts_earlier, ts_earlier)); |
44 EXPECT_FALSE(TimeIsLater( ts_earlier, ts_earlier)); | 44 EXPECT_FALSE(TimeIsLater( ts_earlier, ts_earlier)); |
45 | 45 |
46 // Obtain a third time | 46 // Obtain a third time |
47 TimeStamp ts_later = TimeAfter(100); | 47 TimeStamp ts_later = TimeAfter(100); |
48 EXPECT_NE(ts_now, ts_later); | 48 EXPECT_NE(ts_now, ts_later); |
49 EXPECT_TRUE( TimeIsLater(ts_now, ts_later)); | 49 EXPECT_TRUE( TimeIsLater(ts_now, ts_later)); |
50 EXPECT_TRUE( TimeIsLater(ts_earlier, ts_later)); | 50 EXPECT_TRUE( TimeIsLater(ts_earlier, ts_later)); |
51 | 51 |
52 // Common comparisons | |
53 EXPECT_TRUE( TimeIsBetween(ts_earlier, ts_now, ts_later)); | |
54 EXPECT_FALSE(TimeIsBetween(ts_earlier, ts_later, ts_now)); | |
55 EXPECT_FALSE(TimeIsBetween(ts_now, ts_earlier, ts_later)); | |
56 EXPECT_TRUE( TimeIsBetween(ts_now, ts_later, ts_earlier)); | |
57 EXPECT_TRUE( TimeIsBetween(ts_later, ts_earlier, ts_now)); | |
58 EXPECT_FALSE(TimeIsBetween(ts_later, ts_now, ts_earlier)); | |
59 | |
60 // Edge cases | |
61 EXPECT_TRUE( TimeIsBetween(ts_earlier, ts_earlier, ts_earlier)); | |
62 EXPECT_TRUE( TimeIsBetween(ts_earlier, ts_earlier, ts_later)); | |
63 EXPECT_TRUE( TimeIsBetween(ts_earlier, ts_later, ts_later)); | |
64 | |
65 // Earlier of two times | 52 // Earlier of two times |
66 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_earlier)); | 53 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_earlier)); |
67 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_now)); | 54 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_now)); |
68 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_later)); | 55 EXPECT_EQ(ts_earlier, TimeMin(ts_earlier, ts_later)); |
69 EXPECT_EQ(ts_earlier, TimeMin(ts_now, ts_earlier)); | 56 EXPECT_EQ(ts_earlier, TimeMin(ts_now, ts_earlier)); |
70 EXPECT_EQ(ts_earlier, TimeMin(ts_later, ts_earlier)); | 57 EXPECT_EQ(ts_earlier, TimeMin(ts_later, ts_earlier)); |
71 | 58 |
72 // Later of two times | 59 // Later of two times |
73 EXPECT_EQ(ts_earlier, TimeMax(ts_earlier, ts_earlier)); | 60 EXPECT_EQ(ts_earlier, TimeMax(ts_earlier, ts_earlier)); |
74 EXPECT_EQ(ts_now, TimeMax(ts_earlier, ts_now)); | 61 EXPECT_EQ(ts_now, TimeMax(ts_earlier, ts_now)); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 // Later of two times | 107 // Later of two times |
121 EXPECT_EQ(ts_earlier, TimeMax(ts_earlier, ts_earlier)); | 108 EXPECT_EQ(ts_earlier, TimeMax(ts_earlier, ts_earlier)); |
122 EXPECT_EQ(ts_later, TimeMax(ts_earlier, ts_later)); | 109 EXPECT_EQ(ts_later, TimeMax(ts_earlier, ts_later)); |
123 EXPECT_EQ(ts_later, TimeMax(ts_later, ts_earlier)); | 110 EXPECT_EQ(ts_later, TimeMax(ts_later, ts_earlier)); |
124 | 111 |
125 // Interval | 112 // Interval |
126 EXPECT_EQ(100, TimeDiff(ts_later, ts_earlier)); | 113 EXPECT_EQ(100, TimeDiff(ts_later, ts_earlier)); |
127 EXPECT_EQ(-100, TimeDiff(ts_earlier, ts_later)); | 114 EXPECT_EQ(-100, TimeDiff(ts_earlier, ts_later)); |
128 } | 115 } |
129 | 116 |
130 TEST(TimeTest, DISABLED_CurrentTmTime) { | |
131 struct tm tm; | |
132 int microseconds; | |
133 | |
134 time_t before = ::time(NULL); | |
135 CurrentTmTime(&tm, µseconds); | |
136 time_t after = ::time(NULL); | |
137 | |
138 // Assert that 'tm' represents a time between 'before' and 'after'. | |
139 // mktime() uses local time, so we have to compensate for that. | |
140 time_t local_delta = before - ::mktime(::gmtime(&before)); // NOLINT | |
141 time_t t = ::mktime(&tm) + local_delta; | |
142 | |
143 EXPECT_TRUE(before <= t && t <= after); | |
144 EXPECT_TRUE(0 <= microseconds && microseconds < 1000000); | |
145 } | |
146 | |
147 TEST(TimeTest, TestTimeDiff64) { | 117 TEST(TimeTest, TestTimeDiff64) { |
148 int64_t ts_diff = 100; | 118 int64_t ts_diff = 100; |
149 int64_t ts_earlier = rtc::Time64(); | 119 int64_t ts_earlier = rtc::Time64(); |
150 int64_t ts_later = ts_earlier + ts_diff; | 120 int64_t ts_later = ts_earlier + ts_diff; |
151 EXPECT_EQ(ts_diff, rtc::TimeDiff(ts_later, ts_earlier)); | 121 EXPECT_EQ(ts_diff, rtc::TimeDiff(ts_later, ts_earlier)); |
152 EXPECT_EQ(-ts_diff, rtc::TimeDiff(ts_earlier, ts_later)); | 122 EXPECT_EQ(-ts_diff, rtc::TimeDiff(ts_earlier, ts_later)); |
153 } | 123 } |
154 | 124 |
155 class TimestampWrapAroundHandlerTest : public testing::Test { | 125 class TimestampWrapAroundHandlerTest : public testing::Test { |
156 public: | 126 public: |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 #endif | 264 #endif |
295 } | 265 } |
296 } | 266 } |
297 }; | 267 }; |
298 | 268 |
299 TEST_F(TmToSeconds, TestTmToSeconds) { | 269 TEST_F(TmToSeconds, TestTmToSeconds) { |
300 TestTmToSeconds(100000); | 270 TestTmToSeconds(100000); |
301 } | 271 } |
302 | 272 |
303 } // namespace rtc | 273 } // namespace rtc |
OLD | NEW |