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