summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h')
-rw-r--r--Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h127
1 files changed, 127 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h b/Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h
new file mode 100644
index 00000000000..63dbf77b07d
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/test/intltest/tmsgfmt.h
@@ -0,0 +1,127 @@
+/********************************************************************
+ * COPYRIGHT:
+ * Copyright (c) 1997-2012, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
+#ifndef _TESTMESSAGEFORMAT
+#define _TESTMESSAGEFORMAT
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/unistr.h"
+#include "unicode/fmtable.h"
+#include "unicode/msgfmt.h"
+#include "intltest.h"
+
+/**
+ * TestMessageFormat tests MessageFormat, and also a few unctions in ChoiceFormat
+ */
+class TestMessageFormat: public IntlTest {
+public:
+ void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
+
+ /**
+ * regression test for a specific bug regarding ChoiceFormat boundaries
+ **/
+ void testBug1(void);
+ /**
+ * regression test for a specific bug regarding MessageFormat using ChoiceFormat
+ **/
+ void testBug2(void);
+ /**
+ * regression test for a specific bug involving NumberFormat and Locales
+ **/
+ void testBug3(void);
+ /**
+ * test MessageFormat with various given patterns
+ **/
+ void PatternTest(void);
+ /**
+ * test MesageFormat formatting functionality in a simple example
+ **/
+ void sample(void);
+
+ /**
+ * tests the static MessageFormat::format method
+ **/
+ void testStaticFormat(/* char* par */);
+ /**
+ * tests MesageFormat functionality with a simple format
+ **/
+ void testSimpleFormat(/* char* par */);
+ /**
+ * tests MesageFormat functionality with a format including a ChoiceFormat
+ **/
+ void testMsgFormatChoice(/* char* par */);
+ /**
+ * tests MesageFormat functionality with a PluralFormat.
+ **/
+ 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.
+ */
+ void TestUnlimitedArgsAndSubformats();
+
+ /**
+ * Test RBNF extensions to MessageFormat.
+ */
+ void TestRBNF();
+
+ void TestApostropheMode();
+
+ void TestCompatibleApostrophe();
+
+ /**
+ * ------------ API tests ----------
+ * These routines test various API functionality.
+ * In addition to the methods their name suggests,
+ * they often test other methods as well.
+ **/
+ void testCopyConstructor(void);
+ void testCopyConstructor2(void);
+ void testAssignment(void);
+ void testClone(void);
+ void testEquals(void);
+ void testNotEquals(void);
+ void testSetLocale(void);
+ void testFormat(void);
+ void testParse(void);
+ void testAdopt(void);
+ void TestTurkishCasing(void);
+ void testAutoQuoteApostrophe(void);
+ void testCoverage();
+ void testGetFormatNames();
+ void TestTrimArgumentName();
+ void TestSelectOrdinal();
+
+private:
+ UnicodeString GetPatternAndSkipSyntax(const MessagePattern& pattern);
+};
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
+#endif