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

Side by Side Diff: ui/base/l10n/time_format_unittest.cc

Issue 2845693002: Add month and year to time_format. (Closed)
Patch Set: Address comments Created 3 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
« no previous file with comments | « ui/base/l10n/time_format.cc ('k') | ui/strings/ui_strings.grd » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "ui/base/l10n/time_format.h" 5 #include "ui/base/l10n/time_format.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "ui/base/l10n/formatter.h" 12 #include "ui/base/l10n/formatter.h"
13 13
14 using base::ASCIIToUTF16; 14 using base::ASCIIToUTF16;
15 15
16 namespace ui { 16 namespace ui {
17 namespace { 17 namespace {
18 18
19 using base::TimeDelta; 19 using base::TimeDelta;
20 20
21 class TimeFormatTest : public ::testing::Test { 21 class TimeFormatTest : public ::testing::Test {
22 public: 22 public:
23 TimeFormatTest() : 23 TimeFormatTest()
24 delta_0s_(TimeDelta::FromSeconds(0)), 24 : delta_0s_(TimeDelta::FromSeconds(0)),
25 delta_1ms_(TimeDelta::FromMilliseconds(1)), 25 delta_1ms_(TimeDelta::FromMilliseconds(1)),
26 delta_499ms_(TimeDelta::FromMilliseconds(499)), 26 delta_499ms_(TimeDelta::FromMilliseconds(499)),
27 delta_500ms_(TimeDelta::FromMilliseconds(500)), 27 delta_500ms_(TimeDelta::FromMilliseconds(500)),
28 delta_999ms_(TimeDelta::FromMilliseconds(999)), 28 delta_999ms_(TimeDelta::FromMilliseconds(999)),
29 delta_1s_(TimeDelta::FromSeconds(1)), 29 delta_1s_(TimeDelta::FromSeconds(1)),
30 delta_1s499ms_(delta_1s_ + delta_499ms_), 30 delta_1s499ms_(delta_1s_ + delta_499ms_),
31 delta_1s500ms_(delta_1s_ + delta_500ms_), 31 delta_1s500ms_(delta_1s_ + delta_500ms_),
32 delta_2s_(TimeDelta::FromSeconds(2)), 32 delta_2s_(TimeDelta::FromSeconds(2)),
33 delta_29s_(TimeDelta::FromSeconds(29)), 33 delta_29s_(TimeDelta::FromSeconds(29)),
34 delta_30s_(TimeDelta::FromSeconds(30)), 34 delta_30s_(TimeDelta::FromSeconds(30)),
35 delta_59s_(TimeDelta::FromSeconds(59)), 35 delta_59s_(TimeDelta::FromSeconds(59)),
36 delta_59s499ms_(delta_59s_ + delta_499ms_), 36 delta_59s499ms_(delta_59s_ + delta_499ms_),
37 delta_59s500ms_(delta_59s_ + delta_500ms_), 37 delta_59s500ms_(delta_59s_ + delta_500ms_),
38 delta_1m_(TimeDelta::FromMinutes(1)), 38 delta_1m_(TimeDelta::FromMinutes(1)),
39 delta_1m2s_(delta_1m_ + delta_2s_), 39 delta_1m2s_(delta_1m_ + delta_2s_),
40 delta_1m29s999ms_(delta_1m_ + delta_29s_ + delta_999ms_), 40 delta_1m29s999ms_(delta_1m_ + delta_29s_ + delta_999ms_),
41 delta_1m30s_(delta_1m_ + delta_30s_), 41 delta_1m30s_(delta_1m_ + delta_30s_),
42 delta_2m_(TimeDelta::FromMinutes(2)), 42 delta_2m_(TimeDelta::FromMinutes(2)),
43 delta_2m1s_(delta_2m_ + delta_1s_), 43 delta_2m1s_(delta_2m_ + delta_1s_),
44 delta_29m_(TimeDelta::FromMinutes(29)), 44 delta_29m_(TimeDelta::FromMinutes(29)),
45 delta_30m_(TimeDelta::FromMinutes(30)), 45 delta_30m_(TimeDelta::FromMinutes(30)),
46 delta_59m_(TimeDelta::FromMinutes(59)), 46 delta_59m_(TimeDelta::FromMinutes(59)),
47 delta_59m29s999ms_(delta_59m_ + delta_29s_ + delta_999ms_), 47 delta_59m29s999ms_(delta_59m_ + delta_29s_ + delta_999ms_),
48 delta_59m30s_(delta_59m_ + delta_30s_), 48 delta_59m30s_(delta_59m_ + delta_30s_),
49 delta_59m59s499ms_(delta_59m_ + delta_59s_ + delta_499ms_), 49 delta_59m59s499ms_(delta_59m_ + delta_59s_ + delta_499ms_),
50 delta_59m59s500ms_(delta_59m_ + delta_59s_ + delta_500ms_), 50 delta_59m59s500ms_(delta_59m_ + delta_59s_ + delta_500ms_),
51 delta_1h_(TimeDelta::FromHours(1)), 51 delta_1h_(TimeDelta::FromHours(1)),
52 delta_1h2m_(delta_1h_ + delta_2m_), 52 delta_1h2m_(delta_1h_ + delta_2m_),
53 delta_1h29m59s999ms_(delta_1h_ + delta_29m_ + delta_59s_ + delta_999ms_), 53 delta_1h29m59s999ms_(delta_1h_ + delta_29m_ + delta_59s_ +
54 delta_1h30m_(delta_1h_ + delta_30m_), 54 delta_999ms_),
55 delta_2h_(TimeDelta::FromHours(2)), 55 delta_1h30m_(delta_1h_ + delta_30m_),
56 delta_2h1m_(delta_2h_ + delta_1m_), 56 delta_2h_(TimeDelta::FromHours(2)),
57 delta_11h_(TimeDelta::FromHours(11)), 57 delta_2h1m_(delta_2h_ + delta_1m_),
58 delta_12h_(TimeDelta::FromHours(12)), 58 delta_11h_(TimeDelta::FromHours(11)),
59 delta_23h_(TimeDelta::FromHours(23)), 59 delta_12h_(TimeDelta::FromHours(12)),
60 delta_23h29m59s999ms_(delta_23h_ + delta_29m_ + delta_59s_ + 60 delta_23h_(TimeDelta::FromHours(23)),
61 delta_999ms_), 61 delta_23h29m59s999ms_(delta_23h_ + delta_29m_ + delta_59s_ +
62 delta_23h30m_(delta_23h_ + delta_30m_), 62 delta_999ms_),
63 delta_23h59m29s999ms_(delta_23h_ + delta_59m_ + delta_29s_ + 63 delta_23h30m_(delta_23h_ + delta_30m_),
64 delta_999ms_), 64 delta_23h59m29s999ms_(delta_23h_ + delta_59m_ + delta_29s_ +
65 delta_23h59m30s_(delta_23h_ + delta_59m_ + delta_30s_), 65 delta_999ms_),
66 delta_1d_(TimeDelta::FromDays(1)), 66 delta_23h59m30s_(delta_23h_ + delta_59m_ + delta_30s_),
67 delta_1d2h_(delta_1d_ + delta_2h_), 67 delta_1d_(TimeDelta::FromDays(1)),
68 delta_1d11h59m59s999ms_(delta_1d_ + delta_11h_ + delta_59m_ + delta_29s_ + 68 delta_1d2h_(delta_1d_ + delta_2h_),
69 delta_999ms_), 69 delta_1d11h59m59s999ms_(
70 delta_1d12h_(delta_1d_ + delta_12h_), 70 delta_1d_ + delta_11h_ + delta_59m_ + delta_29s_ + delta_999ms_),
71 delta_2d_(TimeDelta::FromDays(2)), 71 delta_1d12h_(delta_1d_ + delta_12h_),
72 delta_2d1h_(delta_2d_ + delta_1h_) 72 delta_2d_(TimeDelta::FromDays(2)),
73 {} 73 delta_2d1h_(delta_2d_ + delta_1h_),
74 delta_1y_(delta_1d_ * 365),
75 delta_2y_(delta_1y_ * 2),
76 delta_1mo_(delta_1y_ / 12),
77 delta_2mo_(delta_1mo_ * 2),
78 delta_1mo10d_(delta_1mo_ + delta_1d_ * 10) {}
74 79
75 protected: 80 protected:
76 void TestStrings() { 81 void TestStrings() {
77 // Test English strings (simple, singular). 82 // Test English strings (simple, singular).
78 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( 83 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple(
79 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1s_)); 84 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1s_));
80 EXPECT_EQ(ASCIIToUTF16("1 min"), TimeFormat::Simple( 85 EXPECT_EQ(ASCIIToUTF16("1 min"), TimeFormat::Simple(
81 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1m_)); 86 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1m_));
82 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( 87 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple(
83 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1h_)); 88 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1h_));
84 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( 89 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple(
85 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d_)); 90 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d_));
86 EXPECT_EQ(ASCIIToUTF16("1 second"), TimeFormat::Simple( 91 EXPECT_EQ(ASCIIToUTF16("1 second"), TimeFormat::Simple(
87 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1s_)); 92 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1s_));
88 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Simple( 93 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Simple(
89 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1m_)); 94 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1m_));
90 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( 95 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple(
91 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1h_)); 96 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1h_));
92 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( 97 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple(
93 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1d_)); 98 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1d_));
99 EXPECT_EQ(ASCIIToUTF16("1 month"),
100 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION,
101 TimeFormat::LENGTH_LONG,
102 delta_1mo_, true));
103 EXPECT_EQ(ASCIIToUTF16("1 month"),
104 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION,
105 TimeFormat::LENGTH_LONG,
106 delta_1mo10d_, true));
107 EXPECT_EQ(ASCIIToUTF16("1 year"),
108 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION,
109 TimeFormat::LENGTH_LONG,
110 delta_1y_, true));
94 EXPECT_EQ(ASCIIToUTF16("1 sec left"), TimeFormat::Simple( 111 EXPECT_EQ(ASCIIToUTF16("1 sec left"), TimeFormat::Simple(
95 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1s_)); 112 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1s_));
96 EXPECT_EQ(ASCIIToUTF16("1 min left"), TimeFormat::Simple( 113 EXPECT_EQ(ASCIIToUTF16("1 min left"), TimeFormat::Simple(
97 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1m_)); 114 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1m_));
98 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( 115 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple(
99 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1h_)); 116 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1h_));
100 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( 117 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple(
101 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1d_)); 118 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1d_));
102 EXPECT_EQ(ASCIIToUTF16("1 second left"), TimeFormat::Simple( 119 EXPECT_EQ(ASCIIToUTF16("1 second left"), TimeFormat::Simple(
103 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1s_)); 120 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1s_));
104 EXPECT_EQ(ASCIIToUTF16("1 minute left"), TimeFormat::Simple( 121 EXPECT_EQ(ASCIIToUTF16("1 minute left"), TimeFormat::Simple(
105 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1m_)); 122 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1m_));
106 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( 123 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple(
107 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1h_)); 124 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1h_));
108 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( 125 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple(
109 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1d_)); 126 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1d_));
127 EXPECT_EQ(ASCIIToUTF16("1 month left"),
128 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING,
129 TimeFormat::LENGTH_LONG,
130 delta_1mo_, true));
131 EXPECT_EQ(ASCIIToUTF16("1 month left"),
132 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING,
133 TimeFormat::LENGTH_LONG,
134 delta_1mo10d_, true));
135 EXPECT_EQ(ASCIIToUTF16("1 year left"),
136 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING,
137 TimeFormat::LENGTH_LONG,
138 delta_1y_, true));
110 EXPECT_EQ(ASCIIToUTF16("1 sec ago"), TimeFormat::Simple( 139 EXPECT_EQ(ASCIIToUTF16("1 sec ago"), TimeFormat::Simple(
111 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1s_)); 140 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1s_));
112 EXPECT_EQ(ASCIIToUTF16("1 min ago"), TimeFormat::Simple( 141 EXPECT_EQ(ASCIIToUTF16("1 min ago"), TimeFormat::Simple(
113 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1m_)); 142 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1m_));
114 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), TimeFormat::Simple( 143 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), TimeFormat::Simple(
115 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1h_)); 144 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1h_));
116 EXPECT_EQ(ASCIIToUTF16("1 day ago"), TimeFormat::Simple( 145 EXPECT_EQ(ASCIIToUTF16("1 day ago"), TimeFormat::Simple(
117 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1d_)); 146 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1d_));
147 EXPECT_EQ(ASCIIToUTF16("1 month ago"),
148 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED,
149 TimeFormat::LENGTH_LONG,
150 delta_1mo_, true));
151 EXPECT_EQ(ASCIIToUTF16("1 month ago"),
152 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED,
153 TimeFormat::LENGTH_LONG,
154 delta_1mo10d_, true));
155 EXPECT_EQ(ASCIIToUTF16("1 year ago"),
156 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED,
157 TimeFormat::LENGTH_LONG,
158 delta_1y_, true));
118 EXPECT_EQ(ASCIIToUTF16("1 second ago"), 159 EXPECT_EQ(ASCIIToUTF16("1 second ago"),
119 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 160 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
120 TimeFormat::LENGTH_LONG, delta_1s_)); 161 TimeFormat::LENGTH_LONG, delta_1s_));
121 EXPECT_EQ(ASCIIToUTF16("1 minute ago"), 162 EXPECT_EQ(ASCIIToUTF16("1 minute ago"),
122 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 163 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
123 TimeFormat::LENGTH_LONG, delta_1m_)); 164 TimeFormat::LENGTH_LONG, delta_1m_));
124 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), 165 EXPECT_EQ(ASCIIToUTF16("1 hour ago"),
125 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 166 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
126 TimeFormat::LENGTH_LONG, delta_1h_)); 167 TimeFormat::LENGTH_LONG, delta_1h_));
127 EXPECT_EQ(ASCIIToUTF16("1 day ago"), 168 EXPECT_EQ(ASCIIToUTF16("1 day ago"),
(...skipping 10 matching lines...) Expand all
138 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( 179 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple(
139 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_2d_)); 180 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_2d_));
140 EXPECT_EQ(ASCIIToUTF16("2 seconds"), TimeFormat::Simple( 181 EXPECT_EQ(ASCIIToUTF16("2 seconds"), TimeFormat::Simple(
141 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2s_)); 182 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2s_));
142 EXPECT_EQ(ASCIIToUTF16("2 minutes"), TimeFormat::Simple( 183 EXPECT_EQ(ASCIIToUTF16("2 minutes"), TimeFormat::Simple(
143 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2m_)); 184 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2m_));
144 EXPECT_EQ(ASCIIToUTF16("2 hours"), TimeFormat::Simple( 185 EXPECT_EQ(ASCIIToUTF16("2 hours"), TimeFormat::Simple(
145 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2h_)); 186 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2h_));
146 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( 187 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple(
147 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2d_)); 188 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2d_));
189 EXPECT_EQ(ASCIIToUTF16("30 days"),
190 TimeFormat::Simple(TimeFormat::FORMAT_DURATION,
191 TimeFormat::LENGTH_LONG, delta_1mo_));
192 EXPECT_EQ(ASCIIToUTF16("365 days"),
193 TimeFormat::Simple(TimeFormat::FORMAT_DURATION,
194 TimeFormat::LENGTH_LONG, delta_1y_));
195 EXPECT_EQ(ASCIIToUTF16("2 months"),
196 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION,
197 TimeFormat::LENGTH_LONG,
198 delta_2mo_, true));
199 EXPECT_EQ(ASCIIToUTF16("2 years"),
200 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION,
201 TimeFormat::LENGTH_LONG,
202 delta_2y_, true));
148 EXPECT_EQ(ASCIIToUTF16("2 secs left"), TimeFormat::Simple( 203 EXPECT_EQ(ASCIIToUTF16("2 secs left"), TimeFormat::Simple(
149 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2s_)); 204 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2s_));
150 EXPECT_EQ(ASCIIToUTF16("2 mins left"), TimeFormat::Simple( 205 EXPECT_EQ(ASCIIToUTF16("2 mins left"), TimeFormat::Simple(
151 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2m_)); 206 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2m_));
152 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( 207 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple(
153 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2h_)); 208 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2h_));
154 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( 209 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple(
155 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2d_)); 210 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2d_));
156 EXPECT_EQ(ASCIIToUTF16("2 seconds left"), TimeFormat::Simple( 211 EXPECT_EQ(ASCIIToUTF16("2 seconds left"), TimeFormat::Simple(
157 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2s_)); 212 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2s_));
158 EXPECT_EQ(ASCIIToUTF16("2 minutes left"), TimeFormat::Simple( 213 EXPECT_EQ(ASCIIToUTF16("2 minutes left"), TimeFormat::Simple(
159 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2m_)); 214 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2m_));
160 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( 215 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple(
161 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2h_)); 216 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2h_));
162 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( 217 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple(
163 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2d_)); 218 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2d_));
219 EXPECT_EQ(ASCIIToUTF16("30 days left"),
220 TimeFormat::Simple(TimeFormat::FORMAT_REMAINING,
221 TimeFormat::LENGTH_LONG, delta_1mo_));
222 EXPECT_EQ(ASCIIToUTF16("365 days left"),
223 TimeFormat::Simple(TimeFormat::FORMAT_REMAINING,
224 TimeFormat::LENGTH_LONG, delta_1y_));
225 EXPECT_EQ(ASCIIToUTF16("2 months left"),
226 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING,
227 TimeFormat::LENGTH_LONG,
228 delta_2mo_, true));
229 EXPECT_EQ(ASCIIToUTF16("2 years left"),
230 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING,
231 TimeFormat::LENGTH_LONG,
232 delta_2y_, true));
164 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple( 233 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple(
165 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_)); 234 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_));
166 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple( 235 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple(
167 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_)); 236 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_));
168 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple( 237 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple(
169 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_)); 238 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_));
170 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple( 239 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple(
171 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_)); 240 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_));
172 EXPECT_EQ(ASCIIToUTF16("2 seconds ago"), 241 EXPECT_EQ(ASCIIToUTF16("2 seconds ago"),
173 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 242 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
174 TimeFormat::LENGTH_LONG, delta_2s_)); 243 TimeFormat::LENGTH_LONG, delta_2s_));
175 EXPECT_EQ(ASCIIToUTF16("2 minutes ago"), 244 EXPECT_EQ(ASCIIToUTF16("2 minutes ago"),
176 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 245 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
177 TimeFormat::LENGTH_LONG, delta_2m_)); 246 TimeFormat::LENGTH_LONG, delta_2m_));
178 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), 247 EXPECT_EQ(ASCIIToUTF16("2 hours ago"),
179 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 248 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
180 TimeFormat::LENGTH_SHORT, delta_2h_)); 249 TimeFormat::LENGTH_SHORT, delta_2h_));
181 EXPECT_EQ(ASCIIToUTF16("2 days ago"), 250 EXPECT_EQ(ASCIIToUTF16("2 days ago"),
182 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, 251 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
183 TimeFormat::LENGTH_SHORT, delta_2d_)); 252 TimeFormat::LENGTH_SHORT, delta_2d_));
253 EXPECT_EQ(ASCIIToUTF16("30 days ago"),
254 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
255 TimeFormat::LENGTH_LONG, delta_1mo_));
256 EXPECT_EQ(ASCIIToUTF16("365 days ago"),
257 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED,
258 TimeFormat::LENGTH_LONG, delta_1y_));
259 EXPECT_EQ(ASCIIToUTF16("2 months ago"),
260 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED,
261 TimeFormat::LENGTH_LONG,
262 delta_2mo_, true));
263 EXPECT_EQ(ASCIIToUTF16("2 years ago"),
264 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED,
265 TimeFormat::LENGTH_LONG,
266 delta_2y_, true));
184 267
185 // Test English strings (detailed, singular and plural). 268 // Test English strings (detailed, singular and plural).
186 EXPECT_EQ(ASCIIToUTF16("1 minute and 2 seconds"), TimeFormat::Detailed( 269 EXPECT_EQ(ASCIIToUTF16("1 minute and 2 seconds"), TimeFormat::Detailed(
187 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_)); 270 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_));
188 EXPECT_EQ(ASCIIToUTF16("2 minutes and 1 second"), TimeFormat::Detailed( 271 EXPECT_EQ(ASCIIToUTF16("2 minutes and 1 second"), TimeFormat::Detailed(
189 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_)); 272 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_));
190 EXPECT_EQ(ASCIIToUTF16("1 hour and 2 minutes"), TimeFormat::Detailed( 273 EXPECT_EQ(ASCIIToUTF16("1 hour and 2 minutes"), TimeFormat::Detailed(
191 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_)); 274 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_));
192 EXPECT_EQ(ASCIIToUTF16("2 hours and 1 minute"), TimeFormat::Detailed( 275 EXPECT_EQ(ASCIIToUTF16("2 hours and 1 minute"), TimeFormat::Detailed(
193 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_)); 276 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 TimeDelta delta_23h29m59s999ms_; 319 TimeDelta delta_23h29m59s999ms_;
237 TimeDelta delta_23h30m_; 320 TimeDelta delta_23h30m_;
238 TimeDelta delta_23h59m29s999ms_; 321 TimeDelta delta_23h59m29s999ms_;
239 TimeDelta delta_23h59m30s_; 322 TimeDelta delta_23h59m30s_;
240 TimeDelta delta_1d_; 323 TimeDelta delta_1d_;
241 TimeDelta delta_1d2h_; 324 TimeDelta delta_1d2h_;
242 TimeDelta delta_1d11h59m59s999ms_; 325 TimeDelta delta_1d11h59m59s999ms_;
243 TimeDelta delta_1d12h_; 326 TimeDelta delta_1d12h_;
244 TimeDelta delta_2d_; 327 TimeDelta delta_2d_;
245 TimeDelta delta_2d1h_; 328 TimeDelta delta_2d1h_;
329 TimeDelta delta_1y_;
330 TimeDelta delta_2y_;
331 TimeDelta delta_1mo_;
332 TimeDelta delta_2mo_;
333 TimeDelta delta_1mo10d_;
246 }; 334 };
247 335
248 TEST_F(TimeFormatTest, SimpleAndDetailedRounding) { 336 TEST_F(TimeFormatTest, SimpleAndDetailedRounding) {
249 // Test rounding behavior (simple). 337 // Test rounding behavior (simple).
250 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( 338 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple(
251 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_0s_)); 339 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_0s_));
252 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( 340 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple(
253 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_499ms_)); 341 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_499ms_));
254 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( 342 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple(
255 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_500ms_)); 343 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_500ms_));
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 TimeFormat::RelativeDate(two_days_ago, NULL); 455 TimeFormat::RelativeDate(two_days_ago, NULL);
368 EXPECT_TRUE(two_days_ago_str.empty()); 456 EXPECT_TRUE(two_days_ago_str.empty());
369 457
370 base::Time a_week_ago = now - TimeDelta::FromDays(7); 458 base::Time a_week_ago = now - TimeDelta::FromDays(7);
371 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL); 459 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL);
372 EXPECT_TRUE(a_week_ago_str.empty()); 460 EXPECT_TRUE(a_week_ago_str.empty());
373 } 461 }
374 462
375 } // namespace 463 } // namespace
376 } // namespace ui 464 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/l10n/time_format.cc ('k') | ui/strings/ui_strings.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698