OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/time/time.h" | 5 #include "base/time/time.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <time.h> | 8 #include <time.h> |
9 #include <limits> | 9 #include <limits> |
10 #include <string> | 10 #include <string> |
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 EXPECT_EQ(13, TimeDelta::FromSecondsD(13.1).InSeconds()); | 799 EXPECT_EQ(13, TimeDelta::FromSecondsD(13.1).InSeconds()); |
800 EXPECT_EQ(13.1, TimeDelta::FromSecondsD(13.1).InSecondsF()); | 800 EXPECT_EQ(13.1, TimeDelta::FromSecondsD(13.1).InSecondsF()); |
801 EXPECT_EQ(13, TimeDelta::FromMillisecondsD(13.3).InMilliseconds()); | 801 EXPECT_EQ(13, TimeDelta::FromMillisecondsD(13.3).InMilliseconds()); |
802 EXPECT_EQ(13.3, TimeDelta::FromMillisecondsD(13.3).InMillisecondsF()); | 802 EXPECT_EQ(13.3, TimeDelta::FromMillisecondsD(13.3).InMillisecondsF()); |
803 EXPECT_EQ(13, TimeDelta::FromMicroseconds(13).InMicroseconds()); | 803 EXPECT_EQ(13, TimeDelta::FromMicroseconds(13).InMicroseconds()); |
804 EXPECT_EQ(3.456, TimeDelta::FromMillisecondsD(3.45678).InMillisecondsF()); | 804 EXPECT_EQ(3.456, TimeDelta::FromMillisecondsD(3.45678).InMillisecondsF()); |
805 } | 805 } |
806 | 806 |
807 #if defined(OS_POSIX) | 807 #if defined(OS_POSIX) |
808 TEST(TimeDelta, TimeSpecConversion) { | 808 TEST(TimeDelta, TimeSpecConversion) { |
809 struct timespec result = TimeDelta::FromSeconds(0).ToTimeSpec(); | 809 TimeDelta delta = TimeDelta::FromSeconds(0); |
| 810 struct timespec result = delta.ToTimeSpec(); |
810 EXPECT_EQ(result.tv_sec, 0); | 811 EXPECT_EQ(result.tv_sec, 0); |
811 EXPECT_EQ(result.tv_nsec, 0); | 812 EXPECT_EQ(result.tv_nsec, 0); |
| 813 EXPECT_EQ(delta, TimeDelta::FromTimeSpec(result)); |
812 | 814 |
813 result = TimeDelta::FromSeconds(1).ToTimeSpec(); | 815 delta = TimeDelta::FromSeconds(1); |
| 816 result = delta.ToTimeSpec(); |
814 EXPECT_EQ(result.tv_sec, 1); | 817 EXPECT_EQ(result.tv_sec, 1); |
815 EXPECT_EQ(result.tv_nsec, 0); | 818 EXPECT_EQ(result.tv_nsec, 0); |
| 819 EXPECT_EQ(delta, TimeDelta::FromTimeSpec(result)); |
816 | 820 |
817 result = TimeDelta::FromMicroseconds(1).ToTimeSpec(); | 821 delta = TimeDelta::FromMicroseconds(1); |
| 822 result = delta.ToTimeSpec(); |
818 EXPECT_EQ(result.tv_sec, 0); | 823 EXPECT_EQ(result.tv_sec, 0); |
819 EXPECT_EQ(result.tv_nsec, 1000); | 824 EXPECT_EQ(result.tv_nsec, 1000); |
| 825 EXPECT_EQ(delta, TimeDelta::FromTimeSpec(result)); |
820 | 826 |
821 result = TimeDelta::FromMicroseconds( | 827 delta = TimeDelta::FromMicroseconds(Time::kMicrosecondsPerSecond + 1); |
822 Time::kMicrosecondsPerSecond + 1).ToTimeSpec(); | 828 result = delta.ToTimeSpec(); |
823 EXPECT_EQ(result.tv_sec, 1); | 829 EXPECT_EQ(result.tv_sec, 1); |
824 EXPECT_EQ(result.tv_nsec, 1000); | 830 EXPECT_EQ(result.tv_nsec, 1000); |
| 831 EXPECT_EQ(delta, TimeDelta::FromTimeSpec(result)); |
825 } | 832 } |
826 #endif // OS_POSIX | 833 #endif // OS_POSIX |
827 | 834 |
828 // Our internal time format is serialized in things like databases, so it's | 835 // Our internal time format is serialized in things like databases, so it's |
829 // important that it's consistent across all our platforms. We use the 1601 | 836 // important that it's consistent across all our platforms. We use the 1601 |
830 // Windows epoch as the internal format across all platforms. | 837 // Windows epoch as the internal format across all platforms. |
831 TEST(TimeDelta, WindowsEpoch) { | 838 TEST(TimeDelta, WindowsEpoch) { |
832 Time::Exploded exploded; | 839 Time::Exploded exploded; |
833 exploded.year = 1970; | 840 exploded.year = 1970; |
834 exploded.month = 1; | 841 exploded.month = 1; |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1173 | 1180 |
1174 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { | 1181 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { |
1175 std::ostringstream oss; | 1182 std::ostringstream oss; |
1176 oss << TimeTicks(); | 1183 oss << TimeTicks(); |
1177 EXPECT_TRUE(oss.good()); | 1184 EXPECT_TRUE(oss.good()); |
1178 } | 1185 } |
1179 | 1186 |
1180 } // namespace | 1187 } // namespace |
1181 | 1188 |
1182 } // namespace base | 1189 } // namespace base |
OLD | NEW |