16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/******************************************************************** 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * COPYRIGHT: 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Copyright (c) 1997-2013, International Business Machines Corporation and 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * others. All Rights Reserved. 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ********************************************************************/ 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef _DATEFORMATTEST_ 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define _DATEFORMATTEST_ 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/utypes.h" 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if !UCONFIG_NO_FORMATTING 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/datefmt.h" 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/smpdtfmt.h" 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "caltztst.h" 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/** 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Performs many different tests for DateFormat and SimpleDateFormat 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org **/ 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgclass DateFormatTest: public CalendarTimeZoneTest { 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // IntlTest override 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ); 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify that patterns have the correct values and could produce 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * the DateFormat instances that contain the correct localized patterns. 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestPatterns(); 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * "Test written by Wally Wedel and emailed to me." 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test handling of timezone offsets 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org **/ 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestWallyWedel(void); 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test operator== 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestEquals(void); 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the parsing of 2-digit years. 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestTwoDigitYearDSTParse(void); 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // internal utility routine (genrates escape sequences for characters) 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org static UnicodeString& escape(UnicodeString& s); 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify that returned field position indices are correct. 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestFieldPosition(void); 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestGeneral(); 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // internal utility function 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org static void getFieldText(DateFormat* df, int32_t field, UDate date, UnicodeString& str); 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify that strings which contain incomplete specifications are parsed 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * correctly. In some instances, this means not being parsed at all, and 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * returning an appropriate error. 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestPartialParse994(void); 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // internal test subroutine, used by TestPartialParse994 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void tryPat994(SimpleDateFormat* format, const char* pat, const char* str, UDate expected); 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify the behavior of patterns in which digits for different fields run together 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * without intervening separators. 766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestRunTogetherPattern985(void); 786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify the behavior of patterns in which digits for different fields run together 806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * without intervening separators. 816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestRunTogetherPattern917(void); 836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // internal test subroutine, used by TestRunTogetherPattern917 866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void testIt917(SimpleDateFormat* fmt, UnicodeString& str, UDate expected); 876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify the handling of Czech June and July, which have the unique attribute that 916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * one is a proper prefix substring of the other. 926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestCzechMonths459(void); 946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the handling of 'D' in patterns. 966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestLetterDPattern212(void); 986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the day of year pattern. 1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestDayOfYearPattern195(void); 1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // interl test subroutine, used by TestDayOfYearPattern195 1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void tryPattern(SimpleDateFormat& sdf, UDate d, const char* pattern, UDate expected); 1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 1086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the handling of single quotes in patterns. 1106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestQuotePattern161(void); 1126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify the correct behavior when handling invalid input strings. 1146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestBadInput135(void); 1166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 1186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Verify the correct behavior when parsing an array of inputs against an 1206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * array of patterns, with known results. The results are encoded after 1216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * the input strings in each row. 1226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestBadInput135a(void); 1246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the parsing of two-digit years. 1266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestTwoDigitYear(void); 1286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 1306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // internal test subroutine, used by TestTwoDigitYear 1316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void parse2DigitYear(DateFormat& fmt, const char* str, UDate expected); 1326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 1346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the formatting of time zones. 1366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestDateFormatZone061(void); 1386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Further test the formatting of time zones. 1406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestDateFormatZone146(void); 1426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestTimeZoneStringsAPI(void); 1446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestGMTParsing(void); 1466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: // package 1486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test the formatting of dates in different locales. 1506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestLocaleDateFormat(void); 1526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestDateFormatCalendar(void); 1546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void TestSpaceParsing(void); 1566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestExactCountFormat(void); 1586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestWhiteSpaceParsing(void); 1606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestInvalidPattern(void); 1626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestGreekMay(void); 1646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestGenericTime(void); 1666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestGenericTimeZoneOrder(void); 1686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void Test6338(void); 1706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void Test6726(void); 1726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void Test6880(void); 1746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestISOEra(void); 1766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestFormalChineseDate(void); 1786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestStandAloneGMTParse(void); 1806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestParsePosition(void); 1826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestMonthPatterns(void); 1846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestContext(void); 1866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestNonGregoFmtParse(void); 1886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 1906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test host-specific formatting. 1926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestHost(void); 1946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 1966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 1976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test patterns added in CLDR 1.4, CLDR 23 1986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 1996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestEras(void); 2006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestNarrowNames(void); 2026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestShortDays(void); 2046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestStandAloneDays(void); 2066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestStandAloneMonths(void); 2086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestQuarters(void); 2106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestZTimeZoneParsing(void); 2126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRelativeClone(void); 2146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestHostClone(void); 2166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestTimeZoneDisplayName(void); 2186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRoundtripWithCalendar(void); 2206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 2226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /*** 2236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test Relative Dates 2246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 2256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRelative(void); 2266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* void TestRelativeError(void); 2276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRelativeOther(void); 2286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 2296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestDotAndAtLeniency(); 2316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestDateFormatLeniency(); 2336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgprivate: 2356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UBool showParse(DateFormat &format, const UnicodeString &formattedString); 2366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpublic: 2386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 2396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test parsing a number as a string 2406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */ 2416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestNumberAsStringParsing(void); 2426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org private: 2446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRelative(int daysdelta, 2456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const Locale& loc, 2466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const char *expectChars); 2476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org private: 2496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void expectParse(const char** data, int32_t data_length, 2506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const Locale& locale); 2516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void expect(const char** data, int32_t data_length, 2536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const Locale& loc); 2546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void expectFormat(const char **data, int32_t data_length, 2566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const Locale &locale); 2576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif /* #if !UCONFIG_NO_FORMATTING */ 2606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif // _DATEFORMATTEST_ 2626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//eof 263