diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2023-04-24 23:21:09 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2023-04-25 09:18:15 +0200 |
commit | c9b6bf655e6de50c55629b4805399932c90a3b30 (patch) | |
tree | ed0878dbeeab9b6261aa8b42ba04cb98e0a86fd4 /i18npool | |
parent | 75ed56689427f972ce58e395af8aaf951dda7581 (diff) |
Add some tests for (Japanese) i18n::IndexEntrySupplier behavior
...in preparation for some upcoming i18npool/util/i18npool.component clean-up
Change-Id: I8e93aa33759f2bdd6b9422b3833a608cfbed1df0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150948
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'i18npool')
-rw-r--r-- | i18npool/CppunitTest_i18npool_indexentry.mk | 30 | ||||
-rw-r--r-- | i18npool/Module_i18npool.mk | 1 | ||||
-rw-r--r-- | i18npool/qa/cppunit/indexentry.cxx | 70 |
3 files changed, 101 insertions, 0 deletions
diff --git a/i18npool/CppunitTest_i18npool_indexentry.mk b/i18npool/CppunitTest_i18npool_indexentry.mk new file mode 100644 index 000000000000..7820b1794749 --- /dev/null +++ b/i18npool/CppunitTest_i18npool_indexentry.mk @@ -0,0 +1,30 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_CppunitTest_CppunitTest,i18npool_indexentry)) + +$(eval $(call gb_CppunitTest_add_exception_objects,i18npool_indexentry, \ + i18npool/qa/cppunit/indexentry \ +)) + +$(eval $(call gb_CppunitTest_use_components,i18npool_indexentry, \ + i18npool/util/i18npool \ +))\ + +$(eval $(call gb_CppunitTest_use_libraries,i18npool_indexentry, \ + cppu \ + cppuhelper \ + sal \ +)) + +$(eval $(call gb_CppunitTest_use_sdk_api,i18npool_indexentry)) + +$(eval $(call gb_CppunitTest_use_ure,i18npool_indexentry)) + +# vim: set noet sw=4 ts=4: diff --git a/i18npool/Module_i18npool.mk b/i18npool/Module_i18npool.mk index 1797db8c3869..3de7643264cc 100644 --- a/i18npool/Module_i18npool.mk +++ b/i18npool/Module_i18npool.mk @@ -45,6 +45,7 @@ $(eval $(call gb_Module_add_check_targets,i18npool,\ CppunitTest_i18npool_textsearch \ CppunitTest_i18npool_calendar \ CppunitTest_i18npool_defaultnumberingprovider \ + CppunitTest_i18npool_indexentry \ CppunitTest_i18npool_transliteration \ )) diff --git a/i18npool/qa/cppunit/indexentry.cxx b/i18npool/qa/cppunit/indexentry.cxx new file mode 100644 index 000000000000..a95bca547a98 --- /dev/null +++ b/i18npool/qa/cppunit/indexentry.cxx @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <sal/config.h> + +#include <cppunit/TestFixture.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +#include <com/sun/star/i18n/IndexEntrySupplier.hpp> +#include <com/sun/star/i18n/XExtendedIndexEntrySupplier.hpp> +#include <com/sun/star/lang/Locale.hpp> +#include <com/sun/star/uno/Reference.hxx> +#include <comphelper/sequence.hxx> +#include <cppuhelper/bootstrap.hxx> + +namespace +{ +class IndexEntry : public CppUnit::TestFixture +{ +public: + void setUp() + { + supplier_ = css::i18n::IndexEntrySupplier::create( + cppu::defaultBootstrap_InitialComponentContext()); + } + + void testJapanese() + { + css::lang::Locale loc("ja", "JP", ""); + auto const s = supplier_->getAlgorithmList(loc); + CPPUNIT_ASSERT_EQUAL(sal_Int32(4), s.getLength()); + CPPUNIT_ASSERT( + comphelper::findValue(s, "phonetic (alphanumeric first) (grouped by consonant)") != -1); + CPPUNIT_ASSERT( + comphelper::findValue(s, "phonetic (alphanumeric first) (grouped by syllable)") != -1); + CPPUNIT_ASSERT( + comphelper::findValue(s, "phonetic (alphanumeric last) (grouped by consonant)") != -1); + CPPUNIT_ASSERT( + comphelper::findValue(s, "phonetic (alphanumeric last) (grouped by syllable)") != -1); + CPPUNIT_ASSERT(supplier_->loadAlgorithm( + loc, "phonetic (alphanumeric first) (grouped by consonant)", 0)); + CPPUNIT_ASSERT(supplier_->loadAlgorithm( + loc, "phonetic (alphanumeric first) (grouped by syllable)", 0)); + CPPUNIT_ASSERT(supplier_->loadAlgorithm( + loc, "phonetic (alphanumeric last) (grouped by consonant)", 0)); + CPPUNIT_ASSERT( + supplier_->loadAlgorithm(loc, "phonetic (alphanumeric last) (grouped by syllable)", 0)); + } + + CPPUNIT_TEST_SUITE(IndexEntry); + CPPUNIT_TEST(testJapanese); + CPPUNIT_TEST_SUITE_END(); + +private: + css::uno::Reference<css::i18n::XExtendedIndexEntrySupplier> supplier_; +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(IndexEntry); +} + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |