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