Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: base/time/time_unittest.cc

Issue 1976703005: Allow constexpr variables of TimeDelta type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Generalize FromProduct a bit. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 705 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 base::TimeTicks::FromInternalValue(8635916564000); 716 base::TimeTicks::FromInternalValue(8635916564000);
717 717
718 EXPECT_EQ(8635916564000, 718 EXPECT_EQ(8635916564000,
719 big_timestamp.SnappedToNextTick(phase, interval).ToInternalValue()); 719 big_timestamp.SnappedToNextTick(phase, interval).ToInternalValue());
720 EXPECT_EQ(8635916564000, 720 EXPECT_EQ(8635916564000,
721 big_timestamp.SnappedToNextTick(big_timestamp, interval) 721 big_timestamp.SnappedToNextTick(big_timestamp, interval)
722 .ToInternalValue()); 722 .ToInternalValue());
723 } 723 }
724 724
725 TEST(TimeDelta, FromAndIn) { 725 TEST(TimeDelta, FromAndIn) {
726 EXPECT_TRUE(TimeDelta::FromDays(2) == TimeDelta::FromHours(48)); 726 // static_assert also checks that the contained expression is a constant
727 EXPECT_TRUE(TimeDelta::FromHours(3) == TimeDelta::FromMinutes(180)); 727 // expression, meaning all its components are suitable for initializing global
728 EXPECT_TRUE(TimeDelta::FromMinutes(2) == TimeDelta::FromSeconds(120)); 728 // variables.
729 EXPECT_TRUE(TimeDelta::FromSeconds(2) == TimeDelta::FromMilliseconds(2000)); 729 static_assert(TimeDelta::FromDays(2) == TimeDelta::FromHours(48), "");
730 EXPECT_TRUE(TimeDelta::FromMilliseconds(2) == 730 static_assert(TimeDelta::FromHours(3) == TimeDelta::FromMinutes(180), "");
731 TimeDelta::FromMicroseconds(2000)); 731 static_assert(TimeDelta::FromMinutes(2) == TimeDelta::FromSeconds(120), "");
732 EXPECT_TRUE(TimeDelta::FromSecondsD(2.3) == 732 static_assert(TimeDelta::FromSeconds(2) == TimeDelta::FromMilliseconds(2000),
733 TimeDelta::FromMilliseconds(2300)); 733 "");
734 EXPECT_TRUE(TimeDelta::FromMillisecondsD(2.5) == 734 static_assert(
735 TimeDelta::FromMicroseconds(2500)); 735 TimeDelta::FromMilliseconds(2) == TimeDelta::FromMicroseconds(2000), "");
736 static_assert(
737 TimeDelta::FromSecondsD(2.3) == TimeDelta::FromMilliseconds(2300), "");
738 static_assert(
739 TimeDelta::FromMillisecondsD(2.5) == TimeDelta::FromMicroseconds(2500),
740 "");
736 EXPECT_EQ(13, TimeDelta::FromDays(13).InDays()); 741 EXPECT_EQ(13, TimeDelta::FromDays(13).InDays());
737 EXPECT_EQ(13, TimeDelta::FromHours(13).InHours()); 742 EXPECT_EQ(13, TimeDelta::FromHours(13).InHours());
738 EXPECT_EQ(13, TimeDelta::FromMinutes(13).InMinutes()); 743 EXPECT_EQ(13, TimeDelta::FromMinutes(13).InMinutes());
739 EXPECT_EQ(13, TimeDelta::FromSeconds(13).InSeconds()); 744 EXPECT_EQ(13, TimeDelta::FromSeconds(13).InSeconds());
740 EXPECT_EQ(13.0, TimeDelta::FromSeconds(13).InSecondsF()); 745 EXPECT_EQ(13.0, TimeDelta::FromSeconds(13).InSecondsF());
741 EXPECT_EQ(13, TimeDelta::FromMilliseconds(13).InMilliseconds()); 746 EXPECT_EQ(13, TimeDelta::FromMilliseconds(13).InMilliseconds());
742 EXPECT_EQ(13.0, TimeDelta::FromMilliseconds(13).InMillisecondsF()); 747 EXPECT_EQ(13.0, TimeDelta::FromMilliseconds(13).InMillisecondsF());
743 EXPECT_EQ(13, TimeDelta::FromSecondsD(13.1).InSeconds()); 748 EXPECT_EQ(13, TimeDelta::FromSecondsD(13.1).InSeconds());
744 EXPECT_EQ(13.1, TimeDelta::FromSecondsD(13.1).InSecondsF()); 749 EXPECT_EQ(13.1, TimeDelta::FromSecondsD(13.1).InSecondsF());
745 EXPECT_EQ(13, TimeDelta::FromMillisecondsD(13.3).InMilliseconds()); 750 EXPECT_EQ(13, TimeDelta::FromMillisecondsD(13.3).InMilliseconds());
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 1121
1117 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { 1122 TEST(TimeTicksLogging, DoesNotMakeStreamBad) {
1118 std::ostringstream oss; 1123 std::ostringstream oss;
1119 oss << TimeTicks(); 1124 oss << TimeTicks();
1120 EXPECT_TRUE(oss.good()); 1125 EXPECT_TRUE(oss.good());
1121 } 1126 }
1122 1127
1123 } // namespace 1128 } // namespace
1124 1129
1125 } // namespace base 1130 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698