]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/intltest/tmsgfmt.h
ICU-64260.0.1.tar.gz
[apple/icu.git] / icuSources / test / intltest / tmsgfmt.h
index 65308060220af2908077be633a2febeb755ae0a2..dd2153650abf74e72efa69d912ea8f712823f932 100644 (file)
@@ -1,10 +1,10 @@
-/***********************************************************************
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/********************************************************************
  * COPYRIGHT: 
- * Copyright (c) 1997-2005, International Business Machines Corporation
- * and others. All Rights Reserved.
- ***********************************************************************/
-
-
+ * Copyright (c) 1997-2016, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
 #ifndef _TESTMESSAGEFORMAT
 #define _TESTMESSAGEFORMAT
 
@@ -14,6 +14,7 @@
 
 #include "unicode/unistr.h"
 #include "unicode/fmtable.h"
+#include "unicode/msgfmt.h"
 #include "intltest.h"
 
 /**
@@ -61,6 +62,26 @@ public:
      **/
     void testMsgFormatPlural(/* char* par */);
 
+    /** 
+     * tests MessageFormat functionality with a SelectFormat.
+     **/
+    void testMsgFormatSelect(/* char* par */);
+
+    void testApostropheInPluralAndSelect();
+
+    /** 
+     * Internal method to format a MessageFormat object with passed args 
+     **/
+    void internalFormat(MessageFormat* msgFmt ,
+        Formattable* args , int32_t numOfArgs ,
+        UnicodeString expected, const char* errMsg);
+
+    /** 
+     * Internal method to create a MessageFormat object with passed args 
+     **/
+    MessageFormat* internalCreate(
+        UnicodeString pattern ,Locale locale , UErrorCode& err, char* errMsg);
+
     /**
      * Verify that MessageFormat accomodates more than 10 arguments
      * and more than 10 subformats.
@@ -72,7 +93,10 @@ public:
      */
     void TestRBNF();
 
-    //
+    void TestApostropheMode();
+
+    void TestCompatibleApostrophe();
+
     /** 
      * ------------ API tests ----------
      * These routines test various API functionality.
@@ -91,8 +115,21 @@ public:
     void testAdopt(void);
     void TestTurkishCasing(void);
     void testAutoQuoteApostrophe(void);
+    void testCoverage();
+    void testGetFormatNames();
+    void TestTrimArgumentName();
+    void TestSelectOrdinal();
+    void TestDecimals();
+    void TestArgIsPrefixOfAnother();
+    void TestMessageFormatNumberSkeleton();
+    void TestMessageFormatDateSkeleton();
+    void TestMessageFormatTimeSkeleton();
 
 private:
+    UnicodeString GetPatternAndSkipSyntax(const MessagePattern& pattern);
+    void doTheRealDateTimeSkeletonTesting(UDate testDate,
+        const char16_t* messagePattern, const char* localeName, const char16_t* expected,
+        IcuTestErrorCode& status);
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */