summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu-xetex/test/intltest/dtfmttst.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu-xetex/test/intltest/dtfmttst.h')
-rw-r--r--Build/source/libs/icu-xetex/test/intltest/dtfmttst.h217
1 files changed, 217 insertions, 0 deletions
diff --git a/Build/source/libs/icu-xetex/test/intltest/dtfmttst.h b/Build/source/libs/icu-xetex/test/intltest/dtfmttst.h
new file mode 100644
index 00000000000..091c459786e
--- /dev/null
+++ b/Build/source/libs/icu-xetex/test/intltest/dtfmttst.h
@@ -0,0 +1,217 @@
+/********************************************************************
+ * COPYRIGHT:
+ * Copyright (c) 1997-2007, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
+
+#ifndef _DATEFORMATTEST_
+#define _DATEFORMATTEST_
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/datefmt.h"
+#include "unicode/smpdtfmt.h"
+#include "caltztst.h"
+
+/**
+ * Performs many different tests for DataeFormat and SimpleDateFormat
+ **/
+class DateFormatTest: public CalendarTimeZoneTest {
+ // IntlTest override
+ void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
+public:
+ /**
+ * "Test written by Wally Wedel and emailed to me."
+ * Test handling of timezone offsets
+ **/
+ virtual void TestWallyWedel(void);
+ /**
+ * Test operator==
+ */
+ virtual void TestEquals(void);
+ /**
+ * Test the parsing of 2-digit years.
+ */
+ virtual void TestTwoDigitYearDSTParse(void);
+
+public: // package
+ // internal utility routine (genrates escape sequences for characters)
+ static UnicodeString& escape(UnicodeString& s);
+
+public:
+ /**
+ * Verify that returned field position indices are correct.
+ */
+ void TestFieldPosition(void);
+
+ void TestGeneral();
+
+public: // package
+ // internal utility function
+ static void getFieldText(DateFormat* df, int32_t field, UDate date, UnicodeString& str);
+
+public:
+ /**
+ * Verify that strings which contain incomplete specifications are parsed
+ * correctly. In some instances, this means not being parsed at all, and
+ * returning an appropriate error.
+ */
+ virtual void TestPartialParse994(void);
+
+public: // package
+ // internal test subroutine, used by TestPartialParse994
+ virtual void tryPat994(SimpleDateFormat* format, const char* pat, const char* str, UDate expected);
+
+public:
+ /**
+ * Verify the behavior of patterns in which digits for different fields run together
+ * without intervening separators.
+ */
+ virtual void TestRunTogetherPattern985(void);
+ /**
+ * Verify the behavior of patterns in which digits for different fields run together
+ * without intervening separators.
+ */
+ virtual void TestRunTogetherPattern917(void);
+
+public: // package
+ // internal test subroutine, used by TestRunTogetherPattern917
+ virtual void testIt917(SimpleDateFormat* fmt, UnicodeString& str, UDate expected);
+
+public:
+ /**
+ * Verify the handling of Czech June and July, which have the unique attribute that
+ * one is a proper prefix substring of the other.
+ */
+ virtual void TestCzechMonths459(void);
+ /**
+ * Test the handling of 'D' in patterns.
+ */
+ virtual void TestLetterDPattern212(void);
+ /**
+ * Test the day of year pattern.
+ */
+ virtual void TestDayOfYearPattern195(void);
+
+public: // package
+ // interl test subroutine, used by TestDayOfYearPattern195
+ virtual void tryPattern(SimpleDateFormat& sdf, UDate d, const char* pattern, UDate expected);
+
+public:
+ /**
+ * Test the handling of single quotes in patterns.
+ */
+ virtual void TestQuotePattern161(void);
+ /**
+ * Verify the correct behavior when handling invalid input strings.
+ */
+ virtual void TestBadInput135(void);
+
+public:
+ /**
+ * Verify the correct behavior when parsing an array of inputs against an
+ * array of patterns, with known results. The results are encoded after
+ * the input strings in each row.
+ */
+ virtual void TestBadInput135a(void);
+ /**
+ * Test the parsing of two-digit years.
+ */
+ virtual void TestTwoDigitYear(void);
+
+public: // package
+ // internal test subroutine, used by TestTwoDigitYear
+ virtual void parse2DigitYear(DateFormat& fmt, const char* str, UDate expected);
+
+public:
+ /**
+ * Test the formatting of time zones.
+ */
+ virtual void TestDateFormatZone061(void);
+ /**
+ * Further test the formatting of time zones.
+ */
+ virtual void TestDateFormatZone146(void);
+
+ void TestTimeZoneStringsAPI(void);
+
+public: // package
+ /**
+ * Test the formatting of dates in different locales.
+ */
+ virtual void TestLocaleDateFormat(void);
+
+ virtual void TestDateFormatCalendar(void);
+
+ virtual void TestSpaceParsing(void);
+
+ void TestExactCountFormat(void);
+
+ void TestWhiteSpaceParsing(void);
+
+ void TestInvalidPattern(void);
+
+ void TestGreekMay(void);
+
+ void TestGenericTime(void);
+
+ void TestGenericTimeZoneOrder(void);
+
+public:
+ /**
+ * Test host-specific formatting.
+ */
+ void TestHost(void);
+
+public:
+ /**
+ * Test patterns added in CLDR 1.4
+ */
+ void TestEras(void);
+
+ void TestNarrowNames(void);
+
+ void TestStandAloneDays(void);
+
+ void TestStandAloneMonths(void);
+
+ void TestQuarters(void);
+
+ void TestZTimeZoneParsing(void);
+
+ void TestRelativeClone(void);
+
+ void TestHostClone(void);
+
+public:
+ /***
+ * Test Relative Dates
+ */
+ void TestRelative(void);
+ void TestTimeZoneDisplayName(void);
+/* void TestRelativeError(void);
+ void TestRelativeOther(void);
+*/
+
+ private:
+ void TestRelative(int daysdelta,
+ const Locale& loc,
+ const char *expectChars);
+
+ private:
+ void expectParse(const char** data, int32_t data_length,
+ const Locale& locale);
+
+ void expect(const char** data, int32_t data_length,
+ const Locale& loc);
+
+ void expectFormat(const char **data, int32_t data_length,
+ const Locale &locale);
+};
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
+#endif // _DATEFORMATTEST_
+//eof