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