OLD | NEW |
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" |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple( | 152 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple( |
153 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_)); | 153 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_)); |
154 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple( | 154 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple( |
155 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_)); | 155 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_)); |
156 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple( | 156 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple( |
157 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_)); | 157 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_)); |
158 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple( | 158 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple( |
159 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_)); | 159 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_)); |
160 | 160 |
161 // Test English strings (detailed, singular and plural). | 161 // Test English strings (detailed, singular and plural). |
162 EXPECT_EQ(ASCIIToUTF16("1 minute 2 seconds"), TimeFormat::Detailed( | 162 EXPECT_EQ(ASCIIToUTF16("1 minute and 2 seconds"), TimeFormat::Detailed( |
163 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_)); | 163 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_)); |
164 EXPECT_EQ(ASCIIToUTF16("2 minutes 1 second"), TimeFormat::Detailed( | 164 EXPECT_EQ(ASCIIToUTF16("2 minutes and 1 second"), TimeFormat::Detailed( |
165 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_)); | 165 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_)); |
166 EXPECT_EQ(ASCIIToUTF16("1 hour 2 minutes"), TimeFormat::Detailed( | 166 EXPECT_EQ(ASCIIToUTF16("1 hour and 2 minutes"), TimeFormat::Detailed( |
167 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_)); | 167 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_)); |
168 EXPECT_EQ(ASCIIToUTF16("2 hours 1 minute"), TimeFormat::Detailed( | 168 EXPECT_EQ(ASCIIToUTF16("2 hours and 1 minute"), TimeFormat::Detailed( |
169 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_)); | 169 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_)); |
170 EXPECT_EQ(ASCIIToUTF16("1 day 2 hours"), TimeFormat::Detailed( | 170 EXPECT_EQ(ASCIIToUTF16("1 day and 2 hours"), TimeFormat::Detailed( |
171 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1d2h_)); | 171 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1d2h_)); |
172 EXPECT_EQ(ASCIIToUTF16("2 days 1 hour"), TimeFormat::Detailed( | 172 EXPECT_EQ(ASCIIToUTF16("2 days and 1 hour"), TimeFormat::Detailed( |
173 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2d1h_)); | 173 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2d1h_)); |
174 } | 174 } |
175 | 175 |
176 TimeDelta delta_0s_; | 176 TimeDelta delta_0s_; |
177 TimeDelta delta_1ms_; | 177 TimeDelta delta_1ms_; |
178 TimeDelta delta_499ms_; | 178 TimeDelta delta_499ms_; |
179 TimeDelta delta_500ms_; | 179 TimeDelta delta_500ms_; |
180 TimeDelta delta_999ms_; | 180 TimeDelta delta_999ms_; |
181 TimeDelta delta_1s_; | 181 TimeDelta delta_1s_; |
182 TimeDelta delta_1s499ms_; | 182 TimeDelta delta_1s499ms_; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( | 260 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( |
261 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, | 261 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, |
262 delta_1d11h59m59s999ms_)); | 262 delta_1d11h59m59s999ms_)); |
263 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( | 263 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( |
264 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d12h_)); | 264 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d12h_)); |
265 | 265 |
266 // Test rounding behavior (detailed). | 266 // Test rounding behavior (detailed). |
267 EXPECT_EQ(ASCIIToUTF16("59 seconds"), TimeFormat::Detailed( | 267 EXPECT_EQ(ASCIIToUTF16("59 seconds"), TimeFormat::Detailed( |
268 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 100, | 268 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 100, |
269 delta_59s499ms_)); | 269 delta_59s499ms_)); |
270 EXPECT_EQ(ASCIIToUTF16("1 minute 0 seconds"), TimeFormat::Detailed( | 270 EXPECT_EQ(ASCIIToUTF16("1 minute and 0 seconds"), TimeFormat::Detailed( |
271 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, | 271 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, |
272 delta_59s500ms_)); | 272 delta_59s500ms_)); |
273 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Detailed( | 273 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Detailed( |
274 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, | 274 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, |
275 delta_59s500ms_)); | 275 delta_59s500ms_)); |
276 EXPECT_EQ(ASCIIToUTF16("59 minutes 59 seconds"), TimeFormat::Detailed( | 276 EXPECT_EQ(ASCIIToUTF16("59 minutes and 59 seconds"), TimeFormat::Detailed( |
277 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 60, | 277 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 60, |
278 delta_59m59s499ms_)); | 278 delta_59m59s499ms_)); |
279 EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"), TimeFormat::Detailed( | 279 EXPECT_EQ(ASCIIToUTF16("1 hour and 0 minutes"), TimeFormat::Detailed( |
280 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 59, | 280 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 59, |
281 delta_59m59s499ms_)); | 281 delta_59m59s499ms_)); |
282 EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"), TimeFormat::Detailed( | 282 EXPECT_EQ(ASCIIToUTF16("1 hour and 0 minutes"), TimeFormat::Detailed( |
283 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, | 283 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, |
284 delta_59m59s499ms_)); | 284 delta_59m59s499ms_)); |
285 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Detailed( | 285 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Detailed( |
286 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, | 286 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, |
287 delta_59m59s499ms_)); | 287 delta_59m59s499ms_)); |
288 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Detailed( | 288 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Detailed( |
289 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, | 289 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, |
290 delta_59m59s500ms_)); | 290 delta_59m59s500ms_)); |
291 EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"), TimeFormat::Detailed( | 291 EXPECT_EQ(ASCIIToUTF16("1 hour and 0 minutes"), TimeFormat::Detailed( |
292 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, | 292 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, |
293 delta_59m59s500ms_)); | 293 delta_59m59s500ms_)); |
294 EXPECT_EQ(ASCIIToUTF16("23 hours 59 minutes"), TimeFormat::Detailed( | 294 EXPECT_EQ(ASCIIToUTF16("23 hours and 59 minutes"), TimeFormat::Detailed( |
295 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 24, | 295 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 24, |
296 delta_23h59m29s999ms_)); | 296 delta_23h59m29s999ms_)); |
297 EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"), TimeFormat::Detailed( | 297 EXPECT_EQ(ASCIIToUTF16("1 day and 0 hours"), TimeFormat::Detailed( |
298 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 23, | 298 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 23, |
299 delta_23h59m29s999ms_)); | 299 delta_23h59m29s999ms_)); |
300 EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"), TimeFormat::Detailed( | 300 EXPECT_EQ(ASCIIToUTF16("1 day and 0 hours"), TimeFormat::Detailed( |
301 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, | 301 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, |
302 delta_23h59m29s999ms_)); | 302 delta_23h59m29s999ms_)); |
303 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Detailed( | 303 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Detailed( |
304 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, | 304 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, |
305 delta_23h59m29s999ms_)); | 305 delta_23h59m29s999ms_)); |
306 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Detailed( | 306 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Detailed( |
307 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, | 307 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 1, |
308 delta_23h59m30s_)); | 308 delta_23h59m30s_)); |
309 EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"), TimeFormat::Detailed( | 309 EXPECT_EQ(ASCIIToUTF16("1 day and 0 hours"), TimeFormat::Detailed( |
310 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, | 310 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 2, |
311 delta_23h59m30s_)); | 311 delta_23h59m30s_)); |
312 EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"), TimeFormat::Detailed( | 312 EXPECT_EQ(ASCIIToUTF16("1 day and 0 hours"), TimeFormat::Detailed( |
313 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, -1, | 313 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, -1, |
314 delta_23h59m30s_)); | 314 delta_23h59m30s_)); |
315 } | 315 } |
316 | 316 |
317 // Test strings in default code path. | 317 // Test strings in default code path. |
318 TEST_F(TimeFormatTest, SimpleAndDetailedStrings) { | 318 TEST_F(TimeFormatTest, SimpleAndDetailedStrings) { |
319 TestStrings(); | 319 TestStrings(); |
320 } | 320 } |
321 | 321 |
322 // Test strings in fallback path in case of translator error. | 322 // Test strings in fallback path in case of translator error. |
(...skipping 20 matching lines...) Expand all Loading... |
343 TimeFormat::RelativeDate(two_days_ago, NULL); | 343 TimeFormat::RelativeDate(two_days_ago, NULL); |
344 EXPECT_TRUE(two_days_ago_str.empty()); | 344 EXPECT_TRUE(two_days_ago_str.empty()); |
345 | 345 |
346 base::Time a_week_ago = now - TimeDelta::FromDays(7); | 346 base::Time a_week_ago = now - TimeDelta::FromDays(7); |
347 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL); | 347 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL); |
348 EXPECT_TRUE(a_week_ago_str.empty()); | 348 EXPECT_TRUE(a_week_ago_str.empty()); |
349 } | 349 } |
350 | 350 |
351 } // namespace | 351 } // namespace |
352 } // namespace ui | 352 } // namespace ui |
OLD | NEW |