1/* GENERATED SOURCE. DO NOT MODIFY. */ 2// © 2016 and later: Unicode, Inc. and others. 3// License & terms of use: http://www.unicode.org/copyright.html#License 4/* 5 ******************************************************************************* 6 * Copyright (C) 2009, International Business Machines Corporation and * 7 * others. All Rights Reserved. * 8 ******************************************************************************* 9 */ 10package android.icu.dev.test.duration; 11 12import org.junit.Test; 13import org.junit.runner.RunWith; 14import org.junit.runners.JUnit4; 15 16import android.icu.dev.test.TestFmwk; 17import android.icu.impl.duration.BasicPeriodFormatterService; 18import android.icu.impl.duration.DurationFormatter; 19import android.icu.impl.duration.PeriodBuilder; 20import android.icu.impl.duration.PeriodFormatterService; 21import android.icu.text.DurationFormat; 22import android.icu.util.ULocale; 23import android.icu.testsharding.MainTestShard; 24 25@MainTestShard 26@RunWith(JUnit4.class) 27public class RegressionTest extends TestFmwk { 28 // bug6397 29 @Test 30 public void TestDisallowedMillis() { 31 // original test case 32 // if we don't support milliseconds, format times less than 1 second as 33 // 'less than 1 second' 34 { 35 ULocale ul = new ULocale("th"); 36 DurationFormat df = DurationFormat.getInstance(ul); 37 String result = df.formatDurationFromNow(500); 38 assertEquals( 39 "original test case", 40 "\u0E44\u0E21\u0E48\u0E16\u0E36\u0E07\u0E2D\u0E35\u0E01 1 \u0E27\u0E34\u0E19\u0E32\u0E17\u0E35", 41 result); 42 } 43 44 // same issue, but using English and the internal APIs 45 { 46 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance(); 47 PeriodBuilder pb = pfs.newPeriodBuilderFactory() 48 .setAllowMilliseconds(false) 49 .getSingleUnitBuilder(); 50 DurationFormatter df = pfs.newDurationFormatterFactory() 51 .setPeriodBuilder(pb) 52 .getFormatter(); 53 String result = df.formatDurationFromNow(500); 54 assertEquals( 55 "english test case", 56 "less than 1 second from now", 57 result); 58 59 } 60 61 // if the limit is set on milliseconds, and they are not supported, 62 // use an effective limit based on seconds 63 { 64 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance(); 65 PeriodBuilder pb = pfs.newPeriodBuilderFactory() 66 .setMinLimit(2500) 67 .setAllowMilliseconds(false) 68 .getSingleUnitBuilder(); 69 DurationFormatter df = pfs.newDurationFormatterFactory() 70 .setPeriodBuilder(pb) 71 .getFormatter(); 72 String result = df.formatDurationFromNow(500); 73 assertEquals( 74 "limit test case", 75 "less than 2 seconds from now", 76 result); 77 } 78 } 79} 80