1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24
25 // MARKER(update_precomp.py): autogen include statement, do not remove
26 #include "precompiled_sal.hxx"
27 // autogenerated file with codegen.pl
28
29 #include "gtest/gtest.h"
30 #include <rtl/locale.hxx>
31 #include <osl/thread.h>
32
33 namespace rtl_locale
34 {
35 // default locale for test purpose
setDefaultLocale()36 void setDefaultLocale()
37 {
38 rtl::OLocale::setDefault(rtl::OUString::createFromAscii("de"), rtl::OUString::createFromAscii("DE"), /* rtl::OUString() */ rtl::OUString::createFromAscii("hochdeutsch") );
39 }
40
41 class getDefault : public ::testing::Test
42 {
43 public:
44 // initialise your test code values here.
SetUp()45 void SetUp()
46 {
47 }
48
TearDown()49 void TearDown()
50 {
51 }
52 }; // class getDefault
53
TEST_F(getDefault,getDefault_000)54 TEST_F(getDefault, getDefault_000)
55 {
56 // this is demonstration code
57 // ASSERT_TRUE(1 == 1) << "a message";
58
59 // due to the fact, we set the default locale at first, this test is no longer possible
60 // ::rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
61 // ASSERT_TRUE(aLocale.getData() == NULL) << "locale must be null";
62 }
63
TEST_F(getDefault,getDefault_001)64 TEST_F(getDefault, getDefault_001)
65 {
66 // rtl::OLocale::setDefault(rtl::OUString::createFromAscii("de"), rtl::OUString::createFromAscii("DE"), rtl::OUString());
67 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
68 ASSERT_TRUE(aLocale.getData() != NULL) << "locale must not be null";
69 }
70
71 class setDefault : public ::testing::Test
72 {
73 public:
74 // initialise your test code values here.
SetUp()75 void SetUp()
76 {
77 }
78
TearDown()79 void TearDown()
80 {
81 setDefaultLocale();
82 }
83 }; // class setDefault
84
TEST_F(setDefault,setDefault_001)85 TEST_F(setDefault, setDefault_001)
86 {
87 rtl::OLocale::setDefault(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
88 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
89 ASSERT_TRUE(aLocale.getData() != NULL) << "locale must not null";
90
91 // be sure to not GPF
92 }
93
94
95 class getLanguage : public ::testing::Test
96 {
97 public:
SetUp()98 void SetUp()
99 {
100 }
101
TearDown()102 void TearDown()
103 {
104 }
105 }; // class getLanguage
106
TEST_F(getLanguage,getLanguage_001)107 TEST_F(getLanguage, getLanguage_001)
108 {
109 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
110 rtl::OUString suLanguage = aLocale.getLanguage();
111 printf("Language: %s\n", rtl::OUStringToOString(suLanguage, osl_getThreadTextEncoding()).getStr());
112 ASSERT_TRUE(suLanguage.equals(rtl::OUString::createFromAscii("de"))) << "locale language must be 'de'";
113 }
114
TEST_F(getLanguage,getLanguage_002)115 TEST_F(getLanguage, getLanguage_002)
116 {
117 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
118 rtl::OUString suLanguage = rtl_locale_getLanguage(aLocale.getData());
119 printf("Language: %s\n", rtl::OUStringToOString(suLanguage, osl_getThreadTextEncoding()).getStr());
120 ASSERT_TRUE(suLanguage.equals(rtl::OUString::createFromAscii("de"))) << "locale language must be 'de'";
121 }
122
123
124 class getCountry : public ::testing::Test
125 {
126 public:
127 // initialise your test code values here.
SetUp()128 void SetUp()
129 {
130 }
131
TearDown()132 void TearDown()
133 {
134 }
135 }; // class getCountry
136
TEST_F(getCountry,getCountry_001)137 TEST_F(getCountry, getCountry_001)
138 {
139 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
140 rtl::OUString suCountry = aLocale.getCountry();
141 printf("Country: %s\n", rtl::OUStringToOString(suCountry, osl_getThreadTextEncoding()).getStr());
142 ASSERT_TRUE(suCountry.equals(rtl::OUString::createFromAscii("DE"))) << "locale country must be 'DE'";
143 }
144
TEST_F(getCountry,getCountry_002)145 TEST_F(getCountry, getCountry_002)
146 {
147 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
148 rtl::OUString suCountry = rtl_locale_getCountry(aLocale.getData());
149 printf("Country: %s\n", rtl::OUStringToOString(suCountry, osl_getThreadTextEncoding()).getStr());
150 ASSERT_TRUE(suCountry.equals(rtl::OUString::createFromAscii("DE"))) << "locale country must be 'DE'";
151 }
152
153 class getVariant : public ::testing::Test
154 {
155 public:
156 // initialise your test code values here.
SetUp()157 void SetUp()
158 {
159 }
160
TearDown()161 void TearDown()
162 {
163 }
164 }; // class getVariant
165
TEST_F(getVariant,getVariant_001)166 TEST_F(getVariant, getVariant_001)
167 {
168 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
169 rtl::OUString suVariant = aLocale.getVariant();
170 printf("Variant: %s\n", rtl::OUStringToOString(suVariant, osl_getThreadTextEncoding()).getStr());
171 ASSERT_TRUE(suVariant.equals(rtl::OUString::createFromAscii("hochdeutsch"))) << "locale variant must be 'hochdeutsch'";
172 }
173
TEST_F(getVariant,getVariant_002)174 TEST_F(getVariant, getVariant_002)
175 {
176 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
177 rtl::OUString suVariant = rtl_locale_getVariant(aLocale.getData());
178 printf("Variant: %s\n", rtl::OUStringToOString(suVariant, osl_getThreadTextEncoding()).getStr());
179 ASSERT_TRUE(suVariant.equals(rtl::OUString::createFromAscii("hochdeutsch"))) << "locale variant must be 'hochdeutsch'";
180 }
181
182 class hashCode : public ::testing::Test
183 {
184 public:
185 // initialise your test code values here.
SetUp()186 void SetUp()
187 {
188 }
189
TearDown()190 void TearDown()
191 {
192 }
193 }; // class hashCode
194
TEST_F(hashCode,hashCode_001)195 TEST_F(hashCode, hashCode_001)
196 {
197 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
198 sal_Int32 nHashCode = aLocale.hashCode();
199 printf("Hashcode: %d\n", nHashCode);
200 ASSERT_TRUE(nHashCode != 0) << "locale hashcode must be 3831";
201 }
202
TEST_F(hashCode,hashCode_002)203 TEST_F(hashCode, hashCode_002)
204 {
205 rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
206 sal_Int32 nHashCode = rtl_locale_hashCode(aLocale.getData());
207 printf("Hashcode: %d\n", nHashCode);
208 ASSERT_TRUE(nHashCode != 0) << "locale hashcode must be 3831";
209 }
210
211 class equals : public ::testing::Test
212 {
213 public:
214 // initialise your test code values here.
SetUp()215 void SetUp()
216 {
217 }
218
TearDown()219 void TearDown()
220 {
221 }
222 }; // class equals
223
TEST_F(equals,equals_001)224 TEST_F(equals, equals_001)
225 {
226 rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
227 rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"));
228
229 sal_Bool bLocaleAreEqual = sal_False;
230 bLocaleAreEqual = (aLocale1 == aLocale2);
231
232 ASSERT_TRUE(bLocaleAreEqual == sal_True) << "check operator ==()";
233 }
234
TEST_F(equals,equals_002)235 TEST_F(equals, equals_002)
236 {
237 rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
238 rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"));
239
240 sal_Int32 nEqual = rtl_locale_equals(aLocale1.getData(), aLocale2.getData());
241 printf("rtl_locale_equals() result: %d\n", nEqual);
242 ASSERT_TRUE(nEqual != 0);
243 }
244
245 } // namespace rtl_locale
246
247
248 // -----------------------------------------------------------------------------
249
main(int argc,char ** argv)250 int main(int argc, char **argv)
251 {
252 // start message
253 printf("Initializing ...\n" );
254 rtl_locale::setDefaultLocale();
255 printf("Initialization Done.\n" );
256
257 ::testing::InitGoogleTest(&argc, argv);
258 return RUN_ALL_TESTS();
259 }
260