configmgr/qa/unit/test.cxx | 17 +++++++++++++++++ test/user-template/registry-common/modifications.xcd | 13 +++++++++++++ 2 files changed, 30 insertions(+)
New commits: commit 73fd9cc61fd9921cf1322f60f04afc370986572f Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Wed Feb 15 20:04:47 2023 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Thu Apr 20 08:10:58 2023 +0200 Add a rudimentary test for localized properties Change-Id: I9abe06e6f1f2b6b39cbbf07043dd9c5062ff0460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147108 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150461 Tested-by: Miklos Vajna <vmik...@collabora.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/configmgr/qa/unit/test.cxx b/configmgr/qa/unit/test.cxx index daa2070086f7..3de93a6672df 100644 --- a/configmgr/qa/unit/test.cxx +++ b/configmgr/qa/unit/test.cxx @@ -24,6 +24,7 @@ #include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertyState.hpp> +#include <com/sun/star/configuration/ReadOnlyAccess.hpp> #include <com/sun/star/configuration/theDefaultProvider.hpp> #include <com/sun/star/container/XHierarchicalNameAccess.hpp> #include <com/sun/star/container/XNameContainer.hpp> @@ -63,6 +64,7 @@ public: void testKeyReset(); void testSetSetMemberName(); void testInsertSetMember(); + void testLocalizedProperty(); void testReadCommands(); void testListener(); void testRecursive(); @@ -89,6 +91,7 @@ public: CPPUNIT_TEST(testKeyReset); CPPUNIT_TEST(testSetSetMemberName); CPPUNIT_TEST(testInsertSetMember); + CPPUNIT_TEST(testLocalizedProperty); CPPUNIT_TEST(testReadCommands); CPPUNIT_TEST(testListener); CPPUNIT_TEST(testRecursive); @@ -309,6 +312,20 @@ void Test::testInsertSetMember() { access, css::uno::UNO_QUERY_THROW)->dispose(); } +void Test::testLocalizedProperty() { + auto const access = css::configuration::ReadOnlyAccess::create( + comphelper::getProcessComponentContext(), "*"); + { + // See <https://bugs.documentfoundation.org/show_bug.cgi?id=33638> "Pagination extension + // not localized in LibreOffice", which wants to retrieve the non-canonical xml:lang="pt-PT" + // value for the passed-in "pt" locale: + OUString v; + CPPUNIT_ASSERT( + access->getByHierarchicalName("/org.libreoffice.unittest/localized/*pt") >>= v); + CPPUNIT_ASSERT_EQUAL(OUString("pt-PT"), v); + } +} + void Test::testReadCommands() { css::uno::Reference< css::container::XNameAccess > access( diff --git a/test/user-template/registry-common/modifications.xcd b/test/user-template/registry-common/modifications.xcd index 38c2dd8aef4a..d1b9b98d6acb 100644 --- a/test/user-template/registry-common/modifications.xcd +++ b/test/user-template/registry-common/modifications.xcd @@ -8,6 +8,19 @@ * --> <oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oor="http://openoffice.org/2001/registry"> + <oor:component-schema oor:package="org.libreoffice" oor:name="unittest"> + <component> + <prop oor:name="localized" oor:localized="true" oor:type="xs:string"> + </prop> + </component> + </oor:component-schema> + <oor:component-data oor:package="org.libreoffice" oor:name="unittest"> + <prop oor:name="localized"> + <value>default</value> + <value xml:lang="en-US">en-US</value> + <value xml:lang="pt-PT">pt-PT</value> + </prop> + </oor:component-data> <oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="VCL" oor:package="org.openoffice"> <node oor:name="DefaultFonts"> <node oor:name="ar">