]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/intltest/itmajor.cpp
ICU-511.31.tar.gz
[apple/icu.git] / icuSources / test / intltest / itmajor.cpp
CommitLineData
b75a7d8f
A
1/********************************************************************
2 * COPYRIGHT:
729e4ab9 3 * Copyright (c) 1998-2009, International Business Machines Corporation and
b75a7d8f
A
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7/**
8 * MajorTestLevel is the top level test class for everything in the directory "IntlWork".
9 */
10
11/***********************************************************************
12* Modification history
13* Date Name Description
14* 02/14/2001 synwee Release collation for testing.
15***********************************************************************/
16
17#include "unicode/utypes.h"
729e4ab9 18#include "unicode/localpointer.h"
b75a7d8f
A
19#include "itmajor.h"
20
21#include "itutil.h"
22#include "tscoll.h"
23#include "itformat.h"
b75a7d8f
A
24#include "ittrans.h"
25#include "itrbbi.h"
26#include "itrbnf.h"
374ca955 27#include "itrbnfp.h"
b75a7d8f 28#include "itrbnfrt.h"
729e4ab9 29#include "itspoof.h"
b75a7d8f
A
30#include "normconf.h"
31#include "regextst.h"
32#include "tstnorm.h"
33#include "canittst.h"
34#include "icusvtst.h"
35#include "testidna.h"
374ca955 36#include "convtest.h"
73c04bcf 37#include "csdetest.h"
374ca955 38
729e4ab9
A
39extern IntlTest *createBiDiConformanceTest();
40
b75a7d8f
A
41#define CASE_SUITE(id, suite) case id: \
42 name = #suite; \
43 if(exec) { \
44 logln(#suite "---"); \
45 suite test; \
46 callTest(test, par); \
47 } \
48 break
49
50void MajorTestLevel::runIndexedTest( int32_t index, UBool exec, const char* &name, char* par )
51{
52 switch (index) {
53 case 0: name = "utility";
54 if (exec) {
55 logln("TestSuite Utilities---"); logln();
56 IntlTestUtilities test;
57 callTest( test, par );
58 }
59 break;
60
61 case 1: name = "normalize";
62#if !UCONFIG_NO_NORMALIZATION
63 if (exec) {
64 logln("TestSuite Normalize---"); logln();
65 IntlTestNormalize test;
66 callTest( test, par );
67 }
68#endif
69 break;
70
71 case 2: name = "collate";
72#if !UCONFIG_NO_COLLATION
73 if (exec) {
74 logln("TestSuite Collator---"); logln();
75 IntlTestCollator test;
76 callTest( test, par );
77 }
78#endif
79 break;
80
81 case 3: name = "regex";
82#if !UCONFIG_NO_REGULAR_EXPRESSIONS
83 if (exec) {
84 logln("TestSuite Regex---"); logln();
85 RegexTest test;
86 callTest( test, par );
87 }
88#endif
89 break;
90
91 case 4: name = "format";
92#if !UCONFIG_NO_FORMATTING
93 if (exec) {
94 logln("TestSuite Format---"); logln();
95 IntlTestFormat test;
96 callTest( test, par );
97 }
98#endif
99 break;
100
101 case 5: name = "translit";
102#if !UCONFIG_NO_TRANSLITERATION
103 if (exec) {
104 logln("TestSuite Transliterator---"); logln();
105 IntlTestTransliterator test;
106 callTest( test, par );
107 }
108#endif
109 break;
110
111 case 6: name = "rbbi";
112#if !UCONFIG_NO_BREAK_ITERATION
113 if (exec) {
114 logln("TestSuite RuleBasedBreakIterator---"); logln();
115 IntlTestRBBI test;
116 callTest( test, par );
117 }
118#endif
119 break;
120 case 7: name = "rbnf";
121#if !UCONFIG_NO_FORMATTING
122 if (exec) {
123 logln("TestSuite RuleBasedNumberFormat----"); logln();
124 IntlTestRBNF test;
125 callTest(test, par);
126 }
127#endif
128 break;
129 case 8: name = "rbnfrt";
130#if !UCONFIG_NO_FORMATTING
131 if (exec) {
132 logln("TestSuite RuleBasedNumberFormat RT----"); logln();
133 RbnfRoundTripTest test;
134 callTest(test, par);
135 }
136#endif
137 break;
138
139 case 9: name = "icuserv";
140#if !UCONFIG_NO_SERVICE
141 if (exec) {
142 logln("TestSuite ICUService---"); logln();
143 ICUServiceTest test;
144 callTest(test, par);
145 }
146#endif
147 break;
148 case 10: name = "idna";
149#if !UCONFIG_NO_IDNA && !UCONFIG_NO_TRANSLITERATION
150 if(exec){
151 logln("TestSuite IDNA----"); logln();
152 TestIDNA test;
153 callTest(test,par);
154 }
155#endif
156 break;
374ca955
A
157 case 11: name = "convert";
158#if !UCONFIG_NO_LEGACY_CONVERSION
159 if (exec) {
160 logln("TestSuite Conversion---"); logln();
161 ConversionTest test;
162 callTest( test, par );
163 }
164#endif
165 break;
166
167 case 12: name = "rbnfp";
168#if !UCONFIG_NO_FORMATTING
169 if (exec) {
170 logln("TestSuite RuleBasedNumberParse ----"); logln();
171 IntlTestRBNFParse test;
172 callTest(test, par);
173 }
174#endif
175 break;
176
73c04bcf
A
177 case 13: name = "csdet";
178 if (exec) {
179 logln("TestSuite CharsetDetection---"); logln();
180 CharsetDetectionTest test;
181 callTest(test, par);
182 }
183
184 break;
185
729e4ab9
A
186 case 14:
187#if !UCONFIG_NO_REGULAR_EXPRESSIONS && !UCONFIG_NO_NORMALIZATION && !UCONFIG_NO_FILE_IO
188 name = "spoof";
189 if (exec) {
190 logln("TestSuite SpoofDetection---"); logln();
191 IntlTestSpoof test;
192 callTest(test, par);
193 }
194#else
195 name = "skip";
196#endif
197 break;
198
199 case 15: name = "bidi";
200 if (exec) {
201 logln("TestSuite bidi---"); logln();
202 LocalPointer<IntlTest> test(createBiDiConformanceTest());
203 callTest(*test, par);
204 }
205
206 break;
207
b75a7d8f
A
208 default: name = ""; break;
209 }
374ca955
A
210
211
b75a7d8f
A
212}
213
214void IntlTestNormalize::runIndexedTest( int32_t index, UBool exec, const char* &name, char* par )
215{
216 if(exec) logln("TestSuite Normalize:");
217#if UCONFIG_NO_NORMALIZATION
218 name="";
219#else
220 switch (index) {
221 CASE_SUITE(0, BasicNormalizerTest);
222 CASE_SUITE(1, NormalizerConformanceTest); // this takes a long time
223 CASE_SUITE(2, CanonicalIteratorTest);
224 default:
225 name="";
226 break;
227 }
228#endif
229}