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

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

Issue 1049513002: Use the ICU syntax message for plural formatting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ios whitelist update Created 5 years, 8 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"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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