]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/loctest.h
ICU-551.51.tar.gz
[apple/icu.git] / icuSources / test / intltest / loctest.h
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2015, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7 #include "intltest.h"
8 #include "unicode/locid.h"
9
10 /**
11 * Tests for the Locale class
12 **/
13 class LocaleTest: public IntlTest {
14 public:
15 LocaleTest();
16 virtual ~LocaleTest();
17
18 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
19
20 /**
21 * Test methods to set and get data fields
22 **/
23 void TestBasicGetters(void);
24 /**
25 * Test methods to set and get data fields
26 **/
27 void TestParallelAPIValues(void);
28 /**
29 * Use Locale to access Resource file data and compare against expected values
30 **/
31 void TestSimpleResourceInfo(void);
32 /**
33 * Use Locale to access Resource file display names and compare against expected values
34 **/
35 void TestDisplayNames(void);
36 /**
37 * Test methods for basic object behaviour
38 **/
39 void TestSimpleObjectStuff(void);
40 /**
41 * Test methods for POSIX parsing behavior
42 **/
43 void TestPOSIXParsing(void);
44 /**
45 * Test Locale::getAvailableLocales
46 **/
47 void TestGetAvailableLocales(void);
48 /**
49 * Test methods to set and access a custom data directory
50 **/
51 void TestDataDirectory(void);
52
53 void TestISO3Fallback(void);
54 void TestGetLangsAndCountries(void);
55 void TestSimpleDisplayNames(void);
56 void TestUninstalledISO3Names(void);
57 void TestAtypicalLocales(void);
58 #if !UCONFIG_NO_FORMATTING
59 void TestThaiCurrencyFormat(void);
60 void TestEuroSupport(void);
61 #endif
62 void TestToString(void);
63 #if !UCONFIG_NO_FORMATTING
64 void Test4139940(void);
65 void Test4143951(void);
66 #endif
67 void Test4147315(void);
68 void Test4147317(void);
69 void Test4147552(void);
70
71 void TestVariantParsing(void);
72
73 /* Test getting keyword enumeratin */
74 void TestKeywordVariants(void);
75
76 /* Test getting keyword values */
77 void TestKeywordVariantParsing(void);
78
79 /* Test setting keyword values */
80 void TestSetKeywordValue(void);
81
82 /* Test getting the locale base name */
83 void TestGetBaseName(void);
84
85 #if !UCONFIG_NO_FORMATTING
86 void Test4105828(void) ;
87 #endif
88
89 void TestSetIsBogus(void);
90
91 void TestGetLocale(void);
92
93 void TestVariantWithOutCountry(void);
94
95 void TestCanonicalization(void);
96
97 #if !UCONFIG_NO_FORMATTING
98 static UDate date(int32_t y, int32_t m, int32_t d, int32_t hr = 0, int32_t min = 0, int32_t sec = 0);
99 #endif
100
101 void TestCurrencyByDate(void);
102
103 void TestGetVariantWithKeywords(void);
104 void TestIsRightToLeft();
105 void TestBug11421();
106
107 private:
108 void _checklocs(const char* label,
109 const char* req,
110 const Locale& validLoc,
111 const Locale& actualLoc,
112 const char* expReqValid="gt",
113 const char* expValidActual="ge");
114
115 /**
116 * routine to perform subtests, used by TestDisplayNames
117 **/
118 void doTestDisplayNames(Locale& inLocale, int32_t compareIndex);
119 /**
120 * additional intialization for datatables storing expected values
121 **/
122 void setUpDataTable(void);
123
124 UnicodeString** dataTable;
125
126 enum {
127 ENGLISH = 0,
128 FRENCH = 1,
129 CROATIAN = 2,
130 GREEK = 3,
131 NORWEGIAN = 4,
132 ITALIAN = 5,
133 XX = 6,
134 CHINESE = 7,
135 MAX_LOCALES = 7
136 };
137
138 enum {
139 LANG = 0,
140 SCRIPT,
141 CTRY,
142 VAR,
143 NAME,
144 LANG3,
145 CTRY3,
146 LCID,
147 DLANG_EN,
148 DSCRIPT_EN,
149 DCTRY_EN,
150 DVAR_EN,
151 DNAME_EN,
152 DLANG_FR,
153 DSCRIPT_FR,
154 DCTRY_FR,
155 DVAR_FR,
156 DNAME_FR,
157 DLANG_CA,
158 DSCRIPT_CA,
159 DCTRY_CA,
160 DVAR_CA,
161 DNAME_CA,
162 DLANG_EL,
163 DSCRIPT_EL,
164 DCTRY_EL,
165 DVAR_EL,
166 DNAME_EL,
167 DLANG_NO,
168 DSCRIPT_NO,
169 DCTRY_NO,
170 DVAR_NO,
171 DNAME_NO
172 };
173
174 #if !UCONFIG_NO_COLLATION
175 /**
176 * Check on registered collators.
177 * @param expectExtra if non-null, the locale ID of an 'extra' locale that is registered.
178 */
179 void checkRegisteredCollators(const char *expectExtra = NULL);
180 #endif
181 };