@@ -27,7 +27,7 @@ const Time::Exploded kTestDateTimeExploded = {
27
27
// Returns difference between the local time and GMT formatted as string.
28
28
// This function gets |time| because the difference depends on time,
29
29
// see https://en.wikipedia.org/wiki/Daylight_saving_time for details.
30
- base:: string16 GetShortTimeZone (const Time& time) {
30
+ string16 GetShortTimeZone (const Time& time) {
31
31
UErrorCode status = U_ZERO_ERROR;
32
32
std::unique_ptr<icu::TimeZone> zone (icu::TimeZone::createDefault ());
33
33
std::unique_ptr<icu::TimeZoneFormat> zone_formatter (
@@ -37,7 +37,30 @@ base::string16 GetShortTimeZone(const Time& time) {
37
37
zone_formatter->format (UTZFMT_STYLE_SPECIFIC_SHORT, *zone,
38
38
static_cast <UDate>(time .ToDoubleT () * 1000 ),
39
39
name, nullptr );
40
- return base::string16 (name.getBuffer (), name.length ());
40
+ return string16 (name.getBuffer (), name.length ());
41
+ }
42
+
43
+ // Calls TimeDurationFormat() with |delta| and |width| and returns the resulting
44
+ // string. On failure, adds a failed expectation and returns an empty string.
45
+ string16 TimeDurationFormatString (const TimeDelta& delta,
46
+ DurationFormatWidth width) {
47
+ string16 str;
48
+ EXPECT_TRUE (TimeDurationFormat (delta, width, &str))
49
+ << " Failed to format " << delta.ToInternalValue () << " with width "
50
+ << width;
51
+ return str;
52
+ }
53
+
54
+ // Calls TimeDurationFormatWithSeconds() with |delta| and |width| and returns
55
+ // the resulting string. On failure, adds a failed expectation and returns an
56
+ // empty string.
57
+ string16 TimeDurationFormatWithSecondsString (const TimeDelta& delta,
58
+ DurationFormatWidth width) {
59
+ string16 str;
60
+ EXPECT_TRUE (TimeDurationFormatWithSeconds (delta, width, &str))
61
+ << " Failed to format " << delta.ToInternalValue () << " with width "
62
+ << width;
63
+ return str;
41
64
}
42
65
43
66
#if defined(OS_ANDROID)
@@ -254,24 +277,24 @@ TEST(TimeFormattingTest, TimeDurationFormat) {
254
277
// US English.
255
278
i18n::SetICUDefaultLocale (" en_US" );
256
279
EXPECT_EQ (ASCIIToUTF16 (" 15 hours, 42 minutes" ),
257
- TimeDurationFormat (delta, DURATION_WIDTH_WIDE));
280
+ TimeDurationFormatString (delta, DURATION_WIDTH_WIDE));
258
281
EXPECT_EQ (ASCIIToUTF16 (" 15 hr, 42 min" ),
259
- TimeDurationFormat (delta, DURATION_WIDTH_SHORT));
282
+ TimeDurationFormatString (delta, DURATION_WIDTH_SHORT));
260
283
EXPECT_EQ (ASCIIToUTF16 (" 15h 42m" ),
261
- TimeDurationFormat (delta, DURATION_WIDTH_NARROW));
284
+ TimeDurationFormatString (delta, DURATION_WIDTH_NARROW));
262
285
EXPECT_EQ (ASCIIToUTF16 (" 15:42" ),
263
- TimeDurationFormat (delta, DURATION_WIDTH_NUMERIC));
286
+ TimeDurationFormatString (delta, DURATION_WIDTH_NUMERIC));
264
287
265
288
// Danish, with Latin alphabet but different abbreviations and punctuation.
266
289
i18n::SetICUDefaultLocale (" da" );
267
290
EXPECT_EQ (ASCIIToUTF16 (" 15 timer og 42 minutter" ),
268
- TimeDurationFormat (delta, DURATION_WIDTH_WIDE));
291
+ TimeDurationFormatString (delta, DURATION_WIDTH_WIDE));
269
292
EXPECT_EQ (ASCIIToUTF16 (" 15 t og 42 min." ),
270
- TimeDurationFormat (delta, DURATION_WIDTH_SHORT));
293
+ TimeDurationFormatString (delta, DURATION_WIDTH_SHORT));
271
294
EXPECT_EQ (ASCIIToUTF16 (" 15 t og 42 min" ),
272
- TimeDurationFormat (delta, DURATION_WIDTH_NARROW));
295
+ TimeDurationFormatString (delta, DURATION_WIDTH_NARROW));
273
296
EXPECT_EQ (ASCIIToUTF16 (" 15.42" ),
274
- TimeDurationFormat (delta, DURATION_WIDTH_NUMERIC));
297
+ TimeDurationFormatString (delta, DURATION_WIDTH_NUMERIC));
275
298
276
299
// Persian, with non-Arabic numbers.
277
300
i18n::SetICUDefaultLocale (" fa" );
@@ -285,10 +308,11 @@ TEST(TimeFormattingTest, TimeDurationFormat) {
285
308
L" \x6f1\x6f5\x20\x633\x627\x639\x62a\x20\x6f4\x6f2\x20\x62f\x642\x6cc "
286
309
L" \x642\x647 " );
287
310
string16 fa_numeric = WideToUTF16 (L" \x6f1\x6f5\x3a\x6f4\x6f2 " );
288
- EXPECT_EQ (fa_wide, TimeDurationFormat (delta, DURATION_WIDTH_WIDE));
289
- EXPECT_EQ (fa_short, TimeDurationFormat (delta, DURATION_WIDTH_SHORT));
290
- EXPECT_EQ (fa_narrow, TimeDurationFormat (delta, DURATION_WIDTH_NARROW));
291
- EXPECT_EQ (fa_numeric, TimeDurationFormat (delta, DURATION_WIDTH_NUMERIC));
311
+ EXPECT_EQ (fa_wide, TimeDurationFormatString (delta, DURATION_WIDTH_WIDE));
312
+ EXPECT_EQ (fa_short, TimeDurationFormatString (delta, DURATION_WIDTH_SHORT));
313
+ EXPECT_EQ (fa_narrow, TimeDurationFormatString (delta, DURATION_WIDTH_NARROW));
314
+ EXPECT_EQ (fa_numeric,
315
+ TimeDurationFormatString (delta, DURATION_WIDTH_NUMERIC));
292
316
}
293
317
294
318
TEST (TimeFormattingTest, TimeDurationFormatWithSeconds) {
@@ -300,44 +324,44 @@ TEST(TimeFormattingTest, TimeDurationFormatWithSeconds) {
300
324
// Test different formats.
301
325
TimeDelta delta = TimeDelta::FromSeconds (15 * 3600 + 42 * 60 + 30 );
302
326
EXPECT_EQ (ASCIIToUTF16 (" 15 hours, 42 minutes, 30 seconds" ),
303
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_WIDE));
327
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_WIDE));
304
328
EXPECT_EQ (ASCIIToUTF16 (" 15 hr, 42 min, 30 sec" ),
305
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_SHORT));
329
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_SHORT));
306
330
EXPECT_EQ (ASCIIToUTF16 (" 15h 42m 30s" ),
307
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NARROW));
331
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NARROW));
308
332
EXPECT_EQ (ASCIIToUTF16 (" 15:42:30" ),
309
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NUMERIC));
333
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NUMERIC));
310
334
311
335
// Test edge case when hour >= 100.
312
336
delta = TimeDelta::FromSeconds (125 * 3600 + 42 * 60 + 30 );
313
337
EXPECT_EQ (ASCIIToUTF16 (" 125 hours, 42 minutes, 30 seconds" ),
314
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_WIDE));
338
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_WIDE));
315
339
EXPECT_EQ (ASCIIToUTF16 (" 125 hr, 42 min, 30 sec" ),
316
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_SHORT));
340
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_SHORT));
317
341
EXPECT_EQ (ASCIIToUTF16 (" 125h 42m 30s" ),
318
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NARROW));
342
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NARROW));
319
343
320
344
// Test edge case when minute = 0.
321
345
delta = TimeDelta::FromSeconds (15 * 3600 + 0 * 60 + 30 );
322
346
EXPECT_EQ (ASCIIToUTF16 (" 15 hours, 0 minutes, 30 seconds" ),
323
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_WIDE));
347
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_WIDE));
324
348
EXPECT_EQ (ASCIIToUTF16 (" 15 hr, 0 min, 30 sec" ),
325
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_SHORT));
349
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_SHORT));
326
350
EXPECT_EQ (ASCIIToUTF16 (" 15h 0m 30s" ),
327
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NARROW));
351
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NARROW));
328
352
EXPECT_EQ (ASCIIToUTF16 (" 15:00:30" ),
329
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NUMERIC));
353
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NUMERIC));
330
354
331
355
// Test edge case when second = 0.
332
356
delta = TimeDelta::FromSeconds (15 * 3600 + 42 * 60 + 0 );
333
357
EXPECT_EQ (ASCIIToUTF16 (" 15 hours, 42 minutes, 0 seconds" ),
334
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_WIDE));
358
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_WIDE));
335
359
EXPECT_EQ (ASCIIToUTF16 (" 15 hr, 42 min, 0 sec" ),
336
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_SHORT));
360
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_SHORT));
337
361
EXPECT_EQ (ASCIIToUTF16 (" 15h 42m 0s" ),
338
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NARROW));
362
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NARROW));
339
363
EXPECT_EQ (ASCIIToUTF16 (" 15:42:00" ),
340
- TimeDurationFormatWithSeconds (delta, DURATION_WIDTH_NUMERIC));
364
+ TimeDurationFormatWithSecondsString (delta, DURATION_WIDTH_NUMERIC));
341
365
}
342
366
343
367
TEST (TimeFormattingTest, TimeIntervalFormat) {
0 commit comments