OLD | NEW |
| (Empty) |
1 /******************************************************************** | |
2 * COPYRIGHT: | |
3 * Copyright (c) 1997-2013, International Business Machines Corporation and | |
4 * others. All Rights Reserved. | |
5 ********************************************************************/ | |
6 #ifndef _TESTMESSAGEFORMAT | |
7 #define _TESTMESSAGEFORMAT | |
8 | |
9 #include "unicode/utypes.h" | |
10 | |
11 #if !UCONFIG_NO_FORMATTING | |
12 | |
13 #include "unicode/unistr.h" | |
14 #include "unicode/fmtable.h" | |
15 #include "unicode/msgfmt.h" | |
16 #include "intltest.h" | |
17 | |
18 /** | |
19 * TestMessageFormat tests MessageFormat, and also a few unctions in ChoiceForma
t | |
20 */ | |
21 class TestMessageFormat: public IntlTest { | |
22 public: | |
23 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par
= NULL ); | |
24 | |
25 /** | |
26 * regression test for a specific bug regarding ChoiceFormat boundaries | |
27 **/ | |
28 void testBug1(void); | |
29 /** | |
30 * regression test for a specific bug regarding MessageFormat using ChoiceFo
rmat | |
31 **/ | |
32 void testBug2(void); | |
33 /** | |
34 * regression test for a specific bug involving NumberFormat and Locales | |
35 **/ | |
36 void testBug3(void); | |
37 /** | |
38 * test MessageFormat with various given patterns | |
39 **/ | |
40 void PatternTest(void); | |
41 /** | |
42 * test MesageFormat formatting functionality in a simple example | |
43 **/ | |
44 void sample(void); | |
45 | |
46 /** | |
47 * tests the static MessageFormat::format method | |
48 **/ | |
49 void testStaticFormat(/* char* par */); | |
50 /** | |
51 * tests MesageFormat functionality with a simple format | |
52 **/ | |
53 void testSimpleFormat(/* char* par */); | |
54 /** | |
55 * tests MesageFormat functionality with a format including a ChoiceFormat | |
56 **/ | |
57 void testMsgFormatChoice(/* char* par */); | |
58 /** | |
59 * tests MesageFormat functionality with a PluralFormat. | |
60 **/ | |
61 void testMsgFormatPlural(/* char* par */); | |
62 | |
63 /** | |
64 * tests MessageFormat functionality with a SelectFormat. | |
65 **/ | |
66 void testMsgFormatSelect(/* char* par */); | |
67 | |
68 void testApostropheInPluralAndSelect(); | |
69 | |
70 /** | |
71 * Internal method to format a MessageFormat object with passed args | |
72 **/ | |
73 void internalFormat(MessageFormat* msgFmt , | |
74 Formattable* args , int32_t numOfArgs , | |
75 UnicodeString expected, const char* errMsg); | |
76 | |
77 /** | |
78 * Internal method to create a MessageFormat object with passed args | |
79 **/ | |
80 MessageFormat* internalCreate( | |
81 UnicodeString pattern ,Locale locale , UErrorCode& err, char* errMsg); | |
82 | |
83 /** | |
84 * Verify that MessageFormat accomodates more than 10 arguments | |
85 * and more than 10 subformats. | |
86 */ | |
87 void TestUnlimitedArgsAndSubformats(); | |
88 | |
89 /** | |
90 * Test RBNF extensions to MessageFormat. | |
91 */ | |
92 void TestRBNF(); | |
93 | |
94 void TestApostropheMode(); | |
95 | |
96 void TestCompatibleApostrophe(); | |
97 | |
98 /** | |
99 * ------------ API tests ---------- | |
100 * These routines test various API functionality. | |
101 * In addition to the methods their name suggests, | |
102 * they often test other methods as well. | |
103 **/ | |
104 void testCopyConstructor(void); | |
105 void testCopyConstructor2(void); | |
106 void testAssignment(void); | |
107 void testClone(void); | |
108 void testEquals(void); | |
109 void testNotEquals(void); | |
110 void testSetLocale(void); | |
111 void testFormat(void); | |
112 void testParse(void); | |
113 void testAdopt(void); | |
114 void TestTurkishCasing(void); | |
115 void testAutoQuoteApostrophe(void); | |
116 void testCoverage(); | |
117 void testGetFormatNames(); | |
118 void TestTrimArgumentName(); | |
119 void TestSelectOrdinal(); | |
120 void TestDecimals(); | |
121 | |
122 private: | |
123 UnicodeString GetPatternAndSkipSyntax(const MessagePattern& pattern); | |
124 }; | |
125 | |
126 #endif /* #if !UCONFIG_NO_FORMATTING */ | |
127 | |
128 #endif | |
OLD | NEW |