| 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.h" | 5 #include "base/time.h" |
| 6 | 6 |
| 7 #include <time.h> | 7 #include <time.h> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 | 79 |
| 80 time_t now_t_2 = our_time_2.ToTimeT(); | 80 time_t now_t_2 = our_time_2.ToTimeT(); |
| 81 EXPECT_EQ(now_t_1, now_t_2); | 81 EXPECT_EQ(now_t_1, now_t_2); |
| 82 | 82 |
| 83 EXPECT_EQ(10, Time().FromTimeT(10).ToTimeT()); | 83 EXPECT_EQ(10, Time().FromTimeT(10).ToTimeT()); |
| 84 EXPECT_EQ(10.0, Time().FromTimeT(10).ToDoubleT()); | 84 EXPECT_EQ(10.0, Time().FromTimeT(10).ToDoubleT()); |
| 85 | 85 |
| 86 // Conversions of 0 should stay 0. | 86 // Conversions of 0 should stay 0. |
| 87 EXPECT_EQ(0, Time().ToTimeT()); | 87 EXPECT_EQ(0, Time().ToTimeT()); |
| 88 EXPECT_EQ(0, Time::FromTimeT(0).ToInternalValue()); | 88 EXPECT_EQ(0, Time::FromTimeT(0).ToInternalValue()); |
| 89 |
| 90 // Conversions of Max() should stay max. |
| 91 EXPECT_EQ(std::numeric_limits<time_t>::max(), Time::Max().ToTimeT()); |
| 92 EXPECT_EQ(std::numeric_limits<time_t>::max(), |
| 93 Time().FromTimeT(std::numeric_limits<time_t>::max()).ToTimeT()); |
| 94 EXPECT_EQ(std::numeric_limits<int64>::max(), |
| 95 Time::FromTimeT(std::numeric_limits<time_t>::max()).ToInternalValue()); |
| 89 } | 96 } |
| 90 | 97 |
| 91 // Test conversions to/from javascript time. | 98 // Test conversions to/from javascript time. |
| 92 TEST_F(TimeTest, JsTime) { | 99 TEST_F(TimeTest, JsTime) { |
| 93 Time epoch = Time::FromJsTime(0.0); | 100 Time epoch = Time::FromJsTime(0.0); |
| 94 EXPECT_EQ(epoch, Time::UnixEpoch()); | 101 EXPECT_EQ(epoch, Time::UnixEpoch()); |
| 95 Time t = Time::FromJsTime(700000.3); | 102 Time t = Time::FromJsTime(700000.3); |
| 96 EXPECT_EQ(700.0003, t.ToDoubleT()); | 103 EXPECT_EQ(700.0003, t.ToDoubleT()); |
| 97 t = Time::FromDoubleT(800.73); | 104 t = Time::FromDoubleT(800.73); |
| 98 EXPECT_EQ(800730.0, t.ToJsTime()); | 105 EXPECT_EQ(800730.0, t.ToJsTime()); |
| 106 |
| 107 // Conversions of Max() should stay max. |
| 108 t = Time::FromJsTime(std::numeric_limits<double>::max()); |
| 109 EXPECT_TRUE(t.is_max()); |
| 110 t = Time::Max(); |
| 111 EXPECT_EQ(std::numeric_limits<double>::max(), t.ToDoubleT()); |
| 99 } | 112 } |
| 100 | 113 |
| 101 #if defined(OS_POSIX) | 114 #if defined(OS_POSIX) |
| 102 TEST_F(TimeTest, FromTimeVal) { | 115 TEST_F(TimeTest, FromTimeVal) { |
| 103 Time now = Time::Now(); | 116 Time now = Time::Now(); |
| 104 Time also_now = Time::FromTimeVal(now.ToTimeVal()); | 117 Time also_now = Time::FromTimeVal(now.ToTimeVal()); |
| 105 EXPECT_EQ(now, also_now); | 118 EXPECT_EQ(now, also_now); |
| 106 } | 119 } |
| 107 #endif // OS_POSIX | 120 #endif // OS_POSIX |
| 108 | 121 |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 EXPECT_EQ(kUnixEpochYear, exploded.year); | 486 EXPECT_EQ(kUnixEpochYear, exploded.year); |
| 474 EXPECT_EQ(1, exploded.month); | 487 EXPECT_EQ(1, exploded.month); |
| 475 EXPECT_EQ(1, exploded.day_of_month); | 488 EXPECT_EQ(1, exploded.day_of_month); |
| 476 EXPECT_EQ(0, exploded.hour); | 489 EXPECT_EQ(0, exploded.hour); |
| 477 EXPECT_EQ(0, exploded.minute); | 490 EXPECT_EQ(0, exploded.minute); |
| 478 EXPECT_EQ(1, exploded.second); | 491 EXPECT_EQ(1, exploded.second); |
| 479 EXPECT_EQ(1, exploded.millisecond); | 492 EXPECT_EQ(1, exploded.millisecond); |
| 480 } | 493 } |
| 481 | 494 |
| 482 TEST_F(TimeTest, Max) { | 495 TEST_F(TimeTest, Max) { |
| 483 EXPECT_EQ(base::Time::Max(), base::Time::Max()); | 496 Time max = Time::Max(); |
| 484 EXPECT_GT(base::Time::Max(), base::Time::Now()); | 497 EXPECT_TRUE(max.is_max()); |
| 485 EXPECT_GT(base::Time::Max(), base::Time()); | 498 EXPECT_EQ(max, Time::Max()); |
| 499 EXPECT_GT(max, Time::Now()); |
| 500 EXPECT_GT(max, Time()); |
| 486 } | 501 } |
| 487 | 502 |
| 488 TEST(TimeTicks, Deltas) { | 503 TEST(TimeTicks, Deltas) { |
| 489 for (int index = 0; index < 50; index++) { | 504 for (int index = 0; index < 50; index++) { |
| 490 TimeTicks ticks_start = TimeTicks::Now(); | 505 TimeTicks ticks_start = TimeTicks::Now(); |
| 491 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); | 506 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); |
| 492 TimeTicks ticks_stop = TimeTicks::Now(); | 507 TimeTicks ticks_stop = TimeTicks::Now(); |
| 493 TimeDelta delta = ticks_stop - ticks_start; | 508 TimeDelta delta = ticks_stop - ticks_start; |
| 494 // Note: Although we asked for a 10ms sleep, if the | 509 // Note: Although we asked for a 10ms sleep, if the |
| 495 // time clock has a finer granularity than the Sleep() | 510 // time clock has a finer granularity than the Sleep() |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 exploded.minute = 0; | 626 exploded.minute = 0; |
| 612 exploded.second = 0; | 627 exploded.second = 0; |
| 613 exploded.millisecond = 0; | 628 exploded.millisecond = 0; |
| 614 Time t = Time::FromUTCExploded(exploded); | 629 Time t = Time::FromUTCExploded(exploded); |
| 615 // Unix 1970 epoch. | 630 // Unix 1970 epoch. |
| 616 EXPECT_EQ(GG_INT64_C(11644473600000000), t.ToInternalValue()); | 631 EXPECT_EQ(GG_INT64_C(11644473600000000), t.ToInternalValue()); |
| 617 | 632 |
| 618 // We can't test 1601 epoch, since the system time functions on Linux | 633 // We can't test 1601 epoch, since the system time functions on Linux |
| 619 // only compute years starting from 1900. | 634 // only compute years starting from 1900. |
| 620 } | 635 } |
| OLD | NEW |