]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/intltest/dtfmttst.h
ICU-64243.0.1.tar.gz
[apple/icu.git] / icuSources / test / intltest / dtfmttst.h
index 2611c5cc3dce67d21a8e43ad543c7f899ebb6a49..efc56732494d35616477712aec3eec1da1ef9591 100644 (file)
@@ -1,12 +1,14 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /********************************************************************
 /********************************************************************
- * COPYRIGHT: 
- * Copyright (c) 1997-2010, International Business Machines Corporation and
+ * COPYRIGHT:
+ * Copyright (c) 1997-2016, International Business Machines Corporation and
  * others. All Rights Reserved.
  ********************************************************************/
 
 #ifndef _DATEFORMATTEST_
 #define _DATEFORMATTEST_
  * others. All Rights Reserved.
  ********************************************************************/
 
 #ifndef _DATEFORMATTEST_
 #define _DATEFORMATTEST_
+
 #include "unicode/utypes.h"
 
 #if !UCONFIG_NO_FORMATTING
 #include "unicode/utypes.h"
 
 #if !UCONFIG_NO_FORMATTING
 #include "unicode/smpdtfmt.h"
 #include "caltztst.h"
 
 #include "unicode/smpdtfmt.h"
 #include "caltztst.h"
 
-/** 
+/**
  * Performs many different tests for DateFormat and SimpleDateFormat
  **/
 class DateFormatTest: public CalendarTimeZoneTest {
     // IntlTest override
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
 public:
  * Performs many different tests for DateFormat and SimpleDateFormat
  **/
 class DateFormatTest: public CalendarTimeZoneTest {
     // IntlTest override
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
 public:
+    /**
+     * Verify that patterns have the correct values and could produce
+     * the DateFormat instances that contain the correct localized patterns.
+     */
+    void TestPatterns();
     /**
      *  "Test written by Wally Wedel and emailed to me."
      *  Test handling of timezone offsets
     /**
      *  "Test written by Wally Wedel and emailed to me."
      *  Test handling of timezone offsets
@@ -35,23 +42,23 @@ public:
      * Test the parsing of 2-digit years.
      */
     virtual void TestTwoDigitYearDSTParse(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: // 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);
 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);
     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
 public:
     /**
      * Verify that strings which contain incomplete specifications are parsed
@@ -59,11 +66,11 @@ public:
      * returning an appropriate error.
      */
     virtual void TestPartialParse994(void);
      * 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: // 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
 public:
     /**
      * Verify the behavior of patterns in which digits for different fields run together
@@ -75,11 +82,11 @@ public:
      * without intervening separators.
      */
     virtual void TestRunTogetherPattern917(void);
      * 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: // 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
 public:
     /**
      * Verify the handling of Czech June and July, which have the unique attribute that
@@ -94,11 +101,11 @@ public:
      * Test the day of year pattern.
      */
     virtual void TestDayOfYearPattern195(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: // 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.
 public:
     /**
      * Test the handling of single quotes in patterns.
@@ -108,7 +115,7 @@ public:
      * Verify the correct behavior when handling invalid input strings.
      */
     virtual void TestBadInput135(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
 public:
     /**
      * Verify the correct behavior when parsing an array of inputs against an
@@ -120,11 +127,11 @@ public:
      * Test the parsing of two-digit years.
      */
     virtual void TestTwoDigitYear(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: // package
     // internal test subroutine, used by TestTwoDigitYear
     virtual void parse2DigitYear(DateFormat& fmt, const char* str, UDate expected);
+
 public:
     /**
      * Test the formatting of time zones.
 public:
     /**
      * Test the formatting of time zones.
@@ -145,6 +152,8 @@ public: // package
      */
     virtual void TestLocaleDateFormat(void);
 
      */
     virtual void TestLocaleDateFormat(void);
 
+    virtual void TestFormattingLocaleTimeSeparator(void);
+
     virtual void TestDateFormatCalendar(void);
 
     virtual void TestSpaceParsing(void);
     virtual void TestDateFormatCalendar(void);
 
     virtual void TestSpaceParsing(void);
@@ -171,6 +180,18 @@ public: // package
 
     void TestFormalChineseDate(void);
 
 
     void TestFormalChineseDate(void);
 
+    void TestStandAloneGMTParse(void);
+
+    void TestParsePosition(void);
+
+    void TestMonthPatterns(void);
+
+    void TestContext(void);
+
+    void TestNonGregoFmtParse(void);
+
+    void TestFormatsWithNumberSystems(void);
+
 public:
     /**
      * Test host-specific formatting.
 public:
     /**
      * Test host-specific formatting.
@@ -179,24 +200,30 @@ public:
 
 public:
     /**
 
 public:
     /**
-     * Test patterns added in CLDR 1.4
+     * Test patterns added in CLDR 1.4, CLDR 23
      */
     void TestEras(void);
 
     void TestNarrowNames(void);
 
      */
     void TestEras(void);
 
     void TestNarrowNames(void);
 
+    void TestShortDays(void);
+
     void TestStandAloneDays(void);
 
     void TestStandAloneMonths(void);
 
     void TestQuarters(void);
     void TestStandAloneDays(void);
 
     void TestStandAloneMonths(void);
 
     void TestQuarters(void);
-    
+
     void TestZTimeZoneParsing(void);
 
     void TestRelativeClone(void);
     void TestZTimeZoneParsing(void);
 
     void TestRelativeClone(void);
-    
+
     void TestHostClone(void);
 
     void TestHostClone(void);
 
+    void TestHebrewClone(void);
+
+    void TestDateFormatSymbolsClone(void);
+
     void TestTimeZoneDisplayName(void);
 
     void TestRoundtripWithCalendar(void);
     void TestTimeZoneDisplayName(void);
 
     void TestRoundtripWithCalendar(void);
@@ -210,6 +237,35 @@ public:
      void TestRelativeOther(void);
 */
 
      void TestRelativeOther(void);
 */
 
+    void TestDotAndAtLeniency();
+
+    void TestDateFormatLeniency();
+
+    void TestParseMultiPatternMatch();
+
+    void TestParseLeniencyAPIs();
+
+    // test override NumberFormat
+    void TestNumberFormatOverride();
+    void TestCreateInstanceForSkeleton();
+    void TestCreateInstanceForSkeletonDefault();
+    void TestCreateInstanceForSkeletonWithCalendar();
+    void TestDFSCreateForLocaleNonGregorianLocale();
+    void TestDFSCreateForLocaleWithCalendarInLocale();
+    void TestChangeCalendar();
+
+    void TestPatternFromSkeleton();
+
+    void TestAmPmMidnightNoon();
+    void TestFlexibleDayPeriod();
+    void TestDayPeriodWithLocales();
+    void TestMinuteSecondFieldsInOddPlaces();
+    void TestDayPeriodParsing();
+    void TestParseRegression13744();
+
+private:
+    UBool showParse(DateFormat &format, const UnicodeString &formattedString);
+
 public:
     /**
      * Test parsing a number as a string
 public:
     /**
      * Test parsing a number as a string
@@ -217,7 +273,7 @@ public:
     void TestNumberAsStringParsing(void);
 
  private:
     void TestNumberAsStringParsing(void);
 
  private:
-      void TestRelative(int daysdelta, 
+      void TestRelative(int daysdelta,
                                   const Locale& loc,
                                   const char *expectChars);
 
                                   const Locale& loc,
                                   const char *expectChars);
 
@@ -230,9 +286,10 @@ public:
 
     void expectFormat(const char **data, int32_t data_length,
                       const Locale &locale);
 
     void expectFormat(const char **data, int32_t data_length,
                       const Locale &locale);
+
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
+
 #endif // _DATEFORMATTEST_
 //eof
 #endif // _DATEFORMATTEST_
 //eof