]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/intltest/loctest.h
ICU-511.32.tar.gz
[apple/icu.git] / icuSources / test / intltest / loctest.h
CommitLineData
b75a7d8f
A
1/********************************************************************
2 * COPYRIGHT:
729e4ab9 3 * Copyright (c) 1997-2010, International Business Machines Corporation and
b75a7d8f
A
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 **/
13class LocaleTest: public IntlTest {
14public:
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);
374ca955
A
72
73 /* Test getting keyword enumeratin */
74 void TestKeywordVariants(void);
75
76 /* Test getting keyword values */
77 void TestKeywordVariantParsing(void);
78
729e4ab9
A
79 /* Test setting keyword values */
80 void TestSetKeywordValue(void);
81
374ca955
A
82 /* Test getting the locale base name */
83 void TestGetBaseName(void);
b75a7d8f
A
84
85#if !UCONFIG_NO_FORMATTING
86 void Test4105828(void) ;
87#endif
88
89 void TestSetIsBogus(void);
90
374ca955
A
91 void TestGetLocale(void);
92
93 void TestVariantWithOutCountry(void);
94
95 void TestCanonicalization(void);
96
b75a7d8f
A
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
46f4442e
A
101 void TestCurrencyByDate(void);
102
729e4ab9
A
103 void TestGetVariantWithKeywords(void);
104
b75a7d8f 105private:
374ca955
A
106 void _checklocs(const char* label,
107 const char* req,
108 const Locale& validLoc,
109 const Locale& actualLoc,
110 const char* expReqValid="gt",
111 const char* expValidActual="ge");
112
b75a7d8f
A
113 /**
114 * routine to perform subtests, used by TestDisplayNames
115 **/
116 void doTestDisplayNames(Locale& inLocale, int32_t compareIndex);
117 /**
118 * additional intialization for datatables storing expected values
119 **/
120 void setUpDataTable(void);
121
122 UnicodeString** dataTable;
123
124 enum {
125 ENGLISH = 0,
126 FRENCH = 1,
127 CROATIAN = 2,
128 GREEK = 3,
129 NORWEGIAN = 4,
374ca955
A
130 ITALIAN = 5,
131 XX = 6,
132 CHINESE = 7,
133 MAX_LOCALES = 7
b75a7d8f
A
134 };
135
136 enum {
137 LANG = 0,
374ca955
A
138 SCRIPT,
139 CTRY,
140 VAR,
141 NAME,
142 LANG3,
143 CTRY3,
144 LCID,
145 DLANG_EN,
146 DSCRIPT_EN,
147 DCTRY_EN,
148 DVAR_EN,
149 DNAME_EN,
150 DLANG_FR,
151 DSCRIPT_FR,
152 DCTRY_FR,
153 DVAR_FR,
154 DNAME_FR,
155 DLANG_CA,
156 DSCRIPT_CA,
157 DCTRY_CA,
158 DVAR_CA,
159 DNAME_CA,
160 DLANG_EL,
161 DSCRIPT_EL,
162 DCTRY_EL,
163 DVAR_EL,
164 DNAME_EL,
165 DLANG_NO,
166 DSCRIPT_NO,
167 DCTRY_NO,
168 DVAR_NO,
169 DNAME_NO
b75a7d8f
A
170 };
171};
172
173
174