2 *******************************************************************************
\r
3 * Copyright (C) 2009, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
7 package com.ibm.icu.dev.test.duration;
\r
9 import com.ibm.icu.dev.test.TestFmwk;
\r
10 import com.ibm.icu.impl.duration.BasicPeriodFormatterService;
\r
11 import com.ibm.icu.impl.duration.DurationFormatter;
\r
12 import com.ibm.icu.impl.duration.PeriodBuilder;
\r
13 import com.ibm.icu.impl.duration.PeriodFormatterService;
\r
14 import com.ibm.icu.text.DurationFormat;
\r
15 import com.ibm.icu.util.ULocale;
\r
17 public class RegressionTest extends TestFmwk {
\r
19 public static void main(String[] args) {
\r
20 new RegressionTest().run(args);
\r
24 public void TestDisallowedMillis() {
\r
25 // original test case
\r
26 // if we don't support milliseconds, format times less than 1 second as
\r
27 // 'less than 1 second'
\r
29 ULocale ul = new ULocale("th");
\r
30 DurationFormat df = DurationFormat.getInstance(ul);
\r
31 String result = df.formatDurationFromNow(500);
\r
33 "original test case",
\r
34 "\u0E44\u0E21\u0E48\u0E16\u0E36\u0E07\u0E2D\u0E35\u0E01 1 \u0E27\u0E34\u0E19\u0E32\u0E17\u0E35",
\r
38 // same issue, but using English and the internal APIs
\r
40 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance();
\r
41 PeriodBuilder pb = pfs.newPeriodBuilderFactory()
\r
42 .setAllowMilliseconds(false)
\r
43 .getSingleUnitBuilder();
\r
44 DurationFormatter df = pfs.newDurationFormatterFactory()
\r
45 .setPeriodBuilder(pb)
\r
47 String result = df.formatDurationFromNow(500);
\r
49 "english test case",
\r
50 "less than 1 second from now",
\r
55 // if the limit is set on milliseconds, and they are not supported,
\r
56 // use an effective limit based on seconds
\r
58 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance();
\r
59 PeriodBuilder pb = pfs.newPeriodBuilderFactory()
\r
61 .setAllowMilliseconds(false)
\r
62 .getSingleUnitBuilder();
\r
63 DurationFormatter df = pfs.newDurationFormatterFactory()
\r
64 .setPeriodBuilder(pb)
\r
66 String result = df.formatDurationFromNow(500);
\r
69 "less than 2 seconds from now",
\r