summaryrefslogtreecommitdiff
path: root/sal/qa/rtl/locale
diff options
context:
space:
mode:
Diffstat (limited to 'sal/qa/rtl/locale')
-rw-r--r--sal/qa/rtl/locale/makefile.mk68
-rw-r--r--sal/qa/rtl/locale/rtl_locale.cxx347
2 files changed, 415 insertions, 0 deletions
diff --git a/sal/qa/rtl/locale/makefile.mk b/sal/qa/rtl/locale/makefile.mk
new file mode 100644
index 000000000000..32e1471eecdf
--- /dev/null
+++ b/sal/qa/rtl/locale/makefile.mk
@@ -0,0 +1,68 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+PRJ=..$/..$/..
+
+PRJNAME=sal
+TARGET=qa_rtl_locale
+
+ENABLE_EXCEPTIONS=TRUE
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+CFLAGS+= $(LFS_CFLAGS)
+CXXFLAGS+= $(LFS_CFLAGS)
+
+CFLAGSCXX += $(CPPUNIT_CFLAGS)
+
+# BEGIN ----------------------------------------------------------------
+# auto generated Target:locale by codegen.pl
+SHL1OBJS= \
+ $(SLO)$/rtl_locale.obj
+
+SHL1TARGET= rtl_locale
+SHL1STDLIBS= $(SALLIB) $(CPPUNITLIB)
+
+SHL1IMPLIB= i$(SHL1TARGET)
+# SHL1DEF= $(MISC)$/$(SHL1TARGET).def
+
+DEF1NAME =$(SHL1TARGET)
+# DEF1EXPORTFILE= export.exp
+SHL1VERSIONMAP= $(PRJ)$/qa$/export.map
+# auto generated Target:locale
+# END ------------------------------------------------------------------
+
+
+#------------------------------- All object files -------------------------------
+# do this here, so we get right dependencies
+# SLOFILES=$(SHL1OBJS)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/qa$/cppunit_local.mk
diff --git a/sal/qa/rtl/locale/rtl_locale.cxx b/sal/qa/rtl/locale/rtl_locale.cxx
new file mode 100644
index 000000000000..cda5b96c1cf0
--- /dev/null
+++ b/sal/qa/rtl/locale/rtl_locale.cxx
@@ -0,0 +1,347 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sal.hxx"
+// autogenerated file with codegen.pl
+
+#include <osl/thread.h>
+#include <rtl/locale.hxx>
+
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/plugin/TestPlugIn.h>
+
+namespace rtl_locale
+{
+ // default locale for test purpose
+ void setDefaultLocale()
+ {
+ rtl::OLocale::setDefault(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("de")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DE")), /* rtl::OUString() */ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("hochdeutsch")) );
+ }
+
+class getDefault : public CppUnit::TestFixture
+{
+public:
+ // initialise your test code values here.
+ void setUp()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ 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(RTL_CONSTASCII_USTRINGPARAM("de")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ setDefaultLocale();
+ }
+
+ // insert your test code here.
+ void setDefault_001()
+ {
+ rtl::OLocale::setDefault(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void getLanguage_001()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suLanguage = aLocale.getLanguage();
+ CPPUNIT_ASSERT_MESSAGE("locale language must be 'de'", suLanguage.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("de"))));
+ }
+ void getLanguage_002()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suLanguage = rtl_locale_getLanguage(aLocale.getData());
+ CPPUNIT_ASSERT_MESSAGE("locale language must be 'de'", suLanguage.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void getCountry_001()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suCountry = aLocale.getCountry();
+ CPPUNIT_ASSERT_MESSAGE("locale country must be 'DE'", suCountry.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DE"))));
+ }
+ void getCountry_002()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suCountry = rtl_locale_getCountry(aLocale.getData());
+ CPPUNIT_ASSERT_MESSAGE("locale country must be 'DE'", suCountry.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void getVariant_001()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suVariant = aLocale.getVariant();
+ CPPUNIT_ASSERT_MESSAGE("locale variant must be 'hochdeutsch'", suVariant.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("hochdeutsch"))));
+ }
+ void getVariant_002()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ rtl::OUString suVariant = rtl_locale_getVariant(aLocale.getData());
+ CPPUNIT_ASSERT_MESSAGE("locale variant must be 'hochdeutsch'", suVariant.equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void hashCode_001()
+ {
+ rtl::OLocale aLocale = ::rtl::OLocale::getDefault();
+ sal_Int32 nHashCode = aLocale.hashCode();
+ 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());
+ 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()
+ {
+ // start message
+ rtl_locale::setDefaultLocale();
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void equals_001()
+ {
+ rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US")), rtl::OUString());
+ rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("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(RTL_CONSTASCII_USTRINGPARAM("en")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US")), rtl::OUString());
+ rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US")));
+
+ sal_Int32 nEqual = rtl_locale_equals(aLocale1.getData(), aLocale2.getData());
+ 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_REGISTRATION(rtl_locale::getDefault);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::setDefault);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::getLanguage);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::getCountry);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::getVariant);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::hashCode);
+CPPUNIT_TEST_SUITE_REGISTRATION(rtl_locale::equals);
+} // 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.
+
+CPPUNIT_PLUGIN_IMPLEMENT();
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */