blob: eda70ddbebffe7e1d8d742542df2ad51bb5c9416 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sal.hxx"
// autogenerated file with codegen.pl
#include <testshl/simpleheader.hxx>
#include <rtl/locale.hxx>
#include <osl/thread.h>
namespace rtl_locale
{
// default locale for test purpose
void setDefaultLocale()
{
rtl::OLocale::setDefault(rtl::OUString::createFromAscii("de"), rtl::OUString::createFromAscii("DE"), /* rtl::OUString() */ rtl::OUString::createFromAscii("hochdeutsch") );
}
class getDefault : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void getDefault_000()
{
// this is demonstration code
// CPPUNIT_ASSERT_MESSAGE("a message", 1 == 1);
// due to the fact, we set the default locale at first, this test is no longer possible
// ::rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
// CPPUNIT_ASSERT_MESSAGE("locale must be null", aLocale.getData() == NULL);
}
void getDefault_001()
{
// rtl::OLocale::setDefault(rtl::OUString::createFromAscii("de"), rtl::OUString::createFromAscii("DE"), rtl::OUString());
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
CPPUNIT_ASSERT_MESSAGE("locale must not null", aLocale.getData() != NULL);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(getDefault);
CPPUNIT_TEST(getDefault_000);
CPPUNIT_TEST(getDefault_001);
CPPUNIT_TEST_SUITE_END();
}; // class getDefault
class setDefault : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
setDefaultLocale();
}
// insert your test code here.
void setDefault_001()
{
rtl::OLocale::setDefault(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
CPPUNIT_ASSERT_MESSAGE("locale must not null", aLocale.getData() != NULL);
// be sure to not GPF
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(setDefault);
CPPUNIT_TEST(setDefault_001);
CPPUNIT_TEST_SUITE_END();
}; // class setDefault
class getLanguage : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void getLanguage_001()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suLanguage = aLocale.getLanguage();
t_print("Language: %s\n", rtl::OUStringToOString(suLanguage, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale language must be 'de'", suLanguage.equals(rtl::OUString::createFromAscii("de")));
}
void getLanguage_002()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suLanguage = rtl_locale_getLanguage(aLocale.getData());
t_print("Language: %s\n", rtl::OUStringToOString(suLanguage, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale language must be 'de'", suLanguage.equals(rtl::OUString::createFromAscii("de")));
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(getLanguage);
CPPUNIT_TEST(getLanguage_001);
CPPUNIT_TEST(getLanguage_002);
CPPUNIT_TEST_SUITE_END();
}; // class getLanguage
class getCountry : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void getCountry_001()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suCountry = aLocale.getCountry();
t_print("Country: %s\n", rtl::OUStringToOString(suCountry, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale country must be 'DE'", suCountry.equals(rtl::OUString::createFromAscii("DE")));
}
void getCountry_002()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suCountry = rtl_locale_getCountry(aLocale.getData());
t_print("Country: %s\n", rtl::OUStringToOString(suCountry, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale country must be 'DE'", suCountry.equals(rtl::OUString::createFromAscii("DE")));
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(getCountry);
CPPUNIT_TEST(getCountry_001);
CPPUNIT_TEST(getCountry_002);
CPPUNIT_TEST_SUITE_END();
}; // class getCountry
class getVariant : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void getVariant_001()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suVariant = aLocale.getVariant();
t_print("Variant: %s\n", rtl::OUStringToOString(suVariant, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale variant must be 'hochdeutsch'", suVariant.equals(rtl::OUString::createFromAscii("hochdeutsch")));
}
void getVariant_002()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
rtl::OUString suVariant = rtl_locale_getVariant(aLocale.getData());
t_print("Variant: %s\n", rtl::OUStringToOString(suVariant, osl_getThreadTextEncoding()).getStr());
CPPUNIT_ASSERT_MESSAGE("locale variant must be 'hochdeutsch'", suVariant.equals(rtl::OUString::createFromAscii("hochdeutsch")));
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(getVariant);
CPPUNIT_TEST(getVariant_001);
CPPUNIT_TEST(getVariant_002);
CPPUNIT_TEST_SUITE_END();
}; // class getVariant
class hashCode : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void hashCode_001()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
sal_Int32 nHashCode = aLocale.hashCode();
t_print("Hashcode: %d\n", nHashCode);
CPPUNIT_ASSERT_MESSAGE("locale hashcode must be 3831", nHashCode != 0);
}
void hashCode_002()
{
rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
sal_Int32 nHashCode = rtl_locale_hashCode(aLocale.getData());
t_print("Hashcode: %d\n", nHashCode);
CPPUNIT_ASSERT_MESSAGE("locale hashcode must be 3831", nHashCode != 0);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(hashCode);
CPPUNIT_TEST(hashCode_001);
CPPUNIT_TEST(hashCode_002);
CPPUNIT_TEST_SUITE_END();
}; // class hashCode
class equals : public CppUnit::TestFixture
{
public:
// initialise your test code values here.
void setUp()
{
}
void tearDown()
{
}
// insert your test code here.
void equals_001()
{
rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"));
sal_Bool bLocaleAreEqual = sal_False;
bLocaleAreEqual = (aLocale1 == aLocale2);
CPPUNIT_ASSERT_MESSAGE("check operator ==()", bLocaleAreEqual == sal_True);
}
void equals_002()
{
rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"), rtl::OUString());
rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString::createFromAscii("en"), rtl::OUString::createFromAscii("US"));
sal_Int32 nEqual = rtl_locale_equals(aLocale1.getData(), aLocale2.getData());
t_print("rtl_locale_equals() result: %d\n", nEqual);
CPPUNIT_ASSERT(nEqual != 0);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE(equals);
CPPUNIT_TEST(equals_001);
CPPUNIT_TEST(equals_002);
CPPUNIT_TEST_SUITE_END();
}; // class equals
// -----------------------------------------------------------------------------
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::getDefault, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::setDefault, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::getLanguage, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::getCountry, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::getVariant, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::hashCode, "rtl_locale");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_locale::equals, "rtl_locale");
} // namespace rtl_locale
// -----------------------------------------------------------------------------
// this macro creates an empty function, which will called by the RegisterAllFunctions()
// to let the user the possibility to also register some functions by hand.
// NOADDITIONAL;
void RegisterAdditionalFunctions(FktRegFuncPtr)
{
// start message
t_print("Initializing ...\n" );
rtl_locale::setDefaultLocale();
t_print("Initialization Done.\n" );
}