sw/qa/api/ApiTestBase.hxx | 4 - sw/qa/api/BaseIndexTest.hxx | 5 - sw/qa/api/DocumentIndexTest.hxx | 4 - sw/qa/api/DocumentSettings.cxx | 23 ++++----- sw/qa/api/DocumentSettingsTest.hxx | 6 -- sw/qa/api/PrinterSettingsTest.hxx | 4 - sw/qa/api/SettingsTest.hxx | 5 - sw/qa/api/SwXDocumentIndex.cxx | 68 +++++++++++---------------- sw/qa/api/SwXTextTable.cxx | 3 - sw/qa/api/XDocumentIndexTest.hxx | 28 ++--------- sw/qa/api/XTextContentTest.hxx | 20 ++++--- sw/source/uibase/uno/SwXDocumentSettings.cxx | 2 12 files changed, 65 insertions(+), 107 deletions(-)
New commits: commit 5a342653a288f7cf496acb7c3d5d81c459615de9 Author: Bjoern Michaelsen <bjoern.michael...@libreoffice.org> AuthorDate: Thu Mar 14 00:31:19 2019 +0100 Commit: Björn Michaelsen <bjoern.michael...@libreoffice.org> CommitDate: Sun Mar 17 18:07:38 2019 +0100 remove this nonsense of init() returning a map, and then ... - make the DocumentIndex and the DocumentSettings test against XServiceInfo and XComponent, if applicable - fix SwXDocumentSettings implementation name to meet expectations, almost [API CHANGE] - leave out tests on Desktop->terminate() for now though Change-Id: I1e1ab69dd6f6aa67f2cb9291a5665f3f94ff4a38 Reviewed-on: https://gerrit.libreoffice.org/69339 Tested-by: Jenkins Reviewed-by: Björn Michaelsen <bjoern.michael...@libreoffice.org> diff --git a/sw/qa/api/ApiTestBase.hxx b/sw/qa/api/ApiTestBase.hxx index fc25bc3122be..4abf53eb2462 100644 --- a/sw/qa/api/ApiTestBase.hxx +++ b/sw/qa/api/ApiTestBase.hxx @@ -15,8 +15,6 @@ #include <com/sun/star/beans/XPropertySetInfo.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp> -#include <unordered_map> - namespace apitest { class ApiTestBase @@ -50,7 +48,7 @@ protected: virtual ~ApiTestBase() {} - virtual std::unordered_map<OUString, css::uno::Reference<css::uno::XInterface>> init() = 0; + virtual css::uno::Reference<css::uno::XInterface> init() = 0; }; } diff --git a/sw/qa/api/BaseIndexTest.hxx b/sw/qa/api/BaseIndexTest.hxx index 997f91aa948f..cfad380ca493 100644 --- a/sw/qa/api/BaseIndexTest.hxx +++ b/sw/qa/api/BaseIndexTest.hxx @@ -58,10 +58,7 @@ class BaseIndexTest : public ApiTestBase public: void testBaseIndexProperties() { - auto map = init(); - - css::uno::Reference<css::beans::XPropertySet> xBaseIndex(map["text::BaseIndex"], - css::uno::UNO_QUERY_THROW); + css::uno::Reference<css::beans::XPropertySet> xBaseIndex(init(), css::uno::UNO_QUERY_THROW); testStringProperty(xBaseIndex, "Title", "Value"); testBooleanProperty(xBaseIndex, "IsProtected"); diff --git a/sw/qa/api/DocumentIndexTest.hxx b/sw/qa/api/DocumentIndexTest.hxx index 0757c1dd492f..67804388c47d 100644 --- a/sw/qa/api/DocumentIndexTest.hxx +++ b/sw/qa/api/DocumentIndexTest.hxx @@ -24,9 +24,7 @@ class DocumentIndexTest : public ApiTestBase public: void testDocumentIndexProperties() { - auto map = init(); - - css::uno::Reference<css::beans::XPropertySet> xDocumnetIndex(map["text::DocumentIndex"], + css::uno::Reference<css::beans::XPropertySet> xDocumnetIndex(init(), css::uno::UNO_QUERY_THROW); testBooleanProperty(xDocumnetIndex, "UseAlphabeticalSeparators"); diff --git a/sw/qa/api/DocumentSettings.cxx b/sw/qa/api/DocumentSettings.cxx index 901730d0d65d..f2b48cc675f9 100644 --- a/sw/qa/api/DocumentSettings.cxx +++ b/sw/qa/api/DocumentSettings.cxx @@ -8,6 +8,7 @@ */ #include <test/bootstrapfixture.hxx> +#include <test/lang/xserviceinfo.hxx> #include <unotest/macros_test.hxx> #include <com/sun/star/frame/Desktop.hpp> @@ -35,7 +36,8 @@ class DocumentSettingsTest : public test::BootstrapFixture, public unotest::MacrosTest, public apitest::DocumentSettingsTest, public apitest::SettingsTest, - public apitest::PrinterSettingsTest + public apitest::PrinterSettingsTest, + public apitest::XServiceInfo { private: uno::Reference<uno::XComponentContext> mxComponentContext; @@ -45,9 +47,14 @@ public: virtual void setUp() override; virtual void tearDown() override; - std::unordered_map<OUString, uno::Reference<uno::XInterface>> init() override; + DocumentSettingsTest() + : apitest::XServiceInfo("SwXDocumentSettings", "com.sun.star.text.DocumentSettings"){}; + uno::Reference<uno::XInterface> init() override; CPPUNIT_TEST_SUITE(DocumentSettingsTest); + CPPUNIT_TEST(testGetImplementationName); + CPPUNIT_TEST(testGetSupportedServiceNames); + CPPUNIT_TEST(testSupportsService); CPPUNIT_TEST(testDocumentSettingsProperties); CPPUNIT_TEST(testSettingsProperties); CPPUNIT_TEST(testPrinterSettingsProperties); @@ -70,10 +77,8 @@ void DocumentSettingsTest::tearDown() test::BootstrapFixture::tearDown(); } -std::unordered_map<OUString, uno::Reference<uno::XInterface>> DocumentSettingsTest::init() +uno::Reference<uno::XInterface> DocumentSettingsTest::init() { - std::unordered_map<OUString, uno::Reference<uno::XInterface>> map; - mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"); CPPUNIT_ASSERT(mxComponent.is()); @@ -83,13 +88,7 @@ std::unordered_map<OUString, uno::Reference<uno::XInterface>> DocumentSettingsTe uno::Reference<uno::XInterface> xDocumentSettings( xFactory->createInstance("com.sun.star.text.DocumentSettings"), uno::UNO_QUERY_THROW); - // DocumentSettings - map["text::DocumentSettings"] = xDocumentSettings; - // Settings - map["document::Settings"] = xDocumentSettings; - // Printer Settings - map["text::PrinterSettings"] = xDocumentSettings; - return map; + return xDocumentSettings; } CPPUNIT_TEST_SUITE_REGISTRATION(DocumentSettingsTest); diff --git a/sw/qa/api/DocumentSettingsTest.hxx b/sw/qa/api/DocumentSettingsTest.hxx index 35508e0d74a6..4abd8d197d35 100644 --- a/sw/qa/api/DocumentSettingsTest.hxx +++ b/sw/qa/api/DocumentSettingsTest.hxx @@ -24,10 +24,8 @@ class DocumentSettingsTest : public ApiTestBase public: void testDocumentSettingsProperties() { - auto map = init(); - - css::uno::Reference<css::beans::XPropertySet> xDocumentSettings( - map["text::DocumentSettings"], css::uno::UNO_QUERY_THROW); + css::uno::Reference<css::beans::XPropertySet> xDocumentSettings(init(), + css::uno::UNO_QUERY_THROW); testBooleanOptionalProperty(xDocumentSettings, "ChartAutoUpdate"); testBooleanOptionalProperty(xDocumentSettings, "AddParaTableSpacing"); diff --git a/sw/qa/api/PrinterSettingsTest.hxx b/sw/qa/api/PrinterSettingsTest.hxx index 7e8e157af0b2..8d93564c20ea 100644 --- a/sw/qa/api/PrinterSettingsTest.hxx +++ b/sw/qa/api/PrinterSettingsTest.hxx @@ -52,9 +52,7 @@ class PrinterSettingsTest : public ApiTestBase public: void testPrinterSettingsProperties() { - auto map = init(); - - css::uno::Reference<css::beans::XPropertySet> xPrinterSettings(map["text::PrinterSettings"], + css::uno::Reference<css::beans::XPropertySet> xPrinterSettings(init(), css::uno::UNO_QUERY_THROW); testBooleanProperty(xPrinterSettings, "PrintGraphics"); diff --git a/sw/qa/api/SettingsTest.hxx b/sw/qa/api/SettingsTest.hxx index 73cfcfddecf2..48e236d6160f 100644 --- a/sw/qa/api/SettingsTest.hxx +++ b/sw/qa/api/SettingsTest.hxx @@ -93,10 +93,7 @@ class SettingsTest : public ApiTestBase public: void testSettingsProperties() { - auto map = init(); - - css::uno::Reference<css::beans::XPropertySet> xSettings(map["document::Settings"], - css::uno::UNO_QUERY_THROW); + css::uno::Reference<css::beans::XPropertySet> xSettings(init(), css::uno::UNO_QUERY_THROW); testForbiddenCharacters(xSettings); //testShortOptionalProperty(xSettings, "LinkUpdateMode"); diff --git a/sw/qa/api/SwXDocumentIndex.cxx b/sw/qa/api/SwXDocumentIndex.cxx index ea082b9051e2..74530d4712f4 100644 --- a/sw/qa/api/SwXDocumentIndex.cxx +++ b/sw/qa/api/SwXDocumentIndex.cxx @@ -13,6 +13,8 @@ #include "XTextContentTest.hxx" #include <test/bootstrapfixture.hxx> +#include <test/lang/xserviceinfo.hxx> +#include <test/lang/xcomponent.hxx> #include <unotest/macros_test.hxx> #include <com/sun/star/frame/Desktop.hpp> @@ -40,24 +42,34 @@ class SwXDocumentIndexTest : public test::BootstrapFixture, public apitest::XDocumentIndexTest, public apitest::BaseIndexTest, public apitest::DocumentIndexTest, - public apitest::XTextContentTest + public apitest::XTextContentTest, + public apitest::XServiceInfo, + public apitest::XComponent { uno::Reference<uno::XComponentContext> mxComponentContext; - uno::Reference<lang::XComponent> mxComponent; + uno::Reference<text::XTextDocument> mxTextDocument; public: virtual void setUp() override; virtual void tearDown() override; - std::unordered_map<OUString, uno::Reference<uno::XInterface>> init() override; + SwXDocumentIndexTest() + : apitest::XServiceInfo("SwXDocumentIndex", "com.sun.star.text.BaseIndex"){}; + uno::Reference<uno::XInterface> init() override; + uno::Reference<text::XTextDocument> getTextDocument() override { return mxTextDocument; } + void triggerDesktopTerminate() override {} CPPUNIT_TEST_SUITE(SwXDocumentIndexTest); - CPPUNIT_TEST(testGetServiceName); + CPPUNIT_TEST(testGetImplementationName); + CPPUNIT_TEST(testGetSupportedServiceNames); + CPPUNIT_TEST(testSupportsService); CPPUNIT_TEST(testUpdate); CPPUNIT_TEST(testBaseIndexProperties); CPPUNIT_TEST(testDocumentIndexProperties); CPPUNIT_TEST(testAttach); CPPUNIT_TEST(testGetAnchor); + CPPUNIT_TEST(testAddEventListener); + CPPUNIT_TEST(testRemoveEventListener); CPPUNIT_TEST_SUITE_END(); }; @@ -67,53 +79,31 @@ void SwXDocumentIndexTest::setUp() mxComponentContext.set(comphelper::getComponentContext(getMultiServiceFactory())); mxDesktop.set(frame::Desktop::create(mxComponentContext)); + mxTextDocument = uno::Reference<text::XTextDocument>( + loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"), + uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT(mxTextDocument.is()); } void SwXDocumentIndexTest::tearDown() { - if (mxComponent.is()) - mxComponent->dispose(); + if (mxTextDocument.is()) + mxTextDocument->dispose(); test::BootstrapFixture::tearDown(); } -std::unordered_map<OUString, uno::Reference<uno::XInterface>> SwXDocumentIndexTest::init() +uno::Reference<uno::XInterface> SwXDocumentIndexTest::init() { - std::unordered_map<OUString, uno::Reference<uno::XInterface>> map; - - mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"); - CPPUNIT_ASSERT(mxComponent.is()); - - uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY_THROW); - uno::Reference<lang::XMultiServiceFactory> xFactory(xTextDocument, uno::UNO_QUERY_THROW); - + uno::Reference<lang::XMultiServiceFactory> xMSF(mxTextDocument, uno::UNO_QUERY_THROW); uno::Reference<text::XDocumentIndex> xDocumentIndex( - xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); - - uno::Reference<text::XTextContent> xTextContent(xDocumentIndex, uno::UNO_QUERY_THROW); - - uno::Reference<text::XText> xText = xTextDocument->getText(); - uno::Reference<text::XTextCursor> xTextCursor = xText->createTextCursor(); + xMSF->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); + auto xText = getTextDocument()->getText(); + auto xTextCursor = xText->createTextCursor(); CPPUNIT_ASSERT(xTextCursor.is()); - xText->insertTextContent(xTextCursor, xTextContent, false); + xText->insertTextContent(xTextCursor, xDocumentIndex, false); xTextCursor->gotoEnd(false); - - uno::Reference<text::XDocumentIndex> xDocumentIndexInstance( - xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); - - // XDocumentIndexTest - map["text::XDocumentIndex"] = xDocumentIndex; - map["text::XTextDocument"] = xTextDocument; - // BaseIndexTest - map["text::BaseIndex"] = xDocumentIndex; - // DocumentIndex - map["text::DocumentIndex"] = xDocumentIndex; - // XTextContentTest - map["text::XTextRange"] = xTextCursor; - map["text::XTextContent"] = xDocumentIndex; - map["text::XTextContent#Instance"] = xDocumentIndexInstance; - - return map; + return xDocumentIndex; } CPPUNIT_TEST_SUITE_REGISTRATION(SwXDocumentIndexTest); diff --git a/sw/qa/api/SwXTextTable.cxx b/sw/qa/api/SwXTextTable.cxx index e35de37c0024..bc4e0271ccf4 100644 --- a/sw/qa/api/SwXTextTable.cxx +++ b/sw/qa/api/SwXTextTable.cxx @@ -7,14 +7,11 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include "XTextContentTest.hxx" - #include <test/bootstrapfixture.hxx> #include <test/lang/xcomponent.hxx> #include <unotest/macros_test.hxx> #include <com/sun/star/frame/Desktop.hpp> -//#include <com/sun/star/frame/DispatchHelper.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> diff --git a/sw/qa/api/XDocumentIndexTest.hxx b/sw/qa/api/XDocumentIndexTest.hxx index c181a10ac76f..cb3eab3ce9bf 100644 --- a/sw/qa/api/XDocumentIndexTest.hxx +++ b/sw/qa/api/XDocumentIndexTest.hxx @@ -33,19 +33,7 @@ namespace apitest class XDocumentIndexTest : public ApiTestBase { public: - /** - * Has <b>OK</b> status if the returned service name - * is equal to 'com.sun.star.text.DocumentIndex'. - */ - void testGetServiceName() - { - auto inputMap = init(); - - css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex( - inputMap["text::XDocumentIndex"], css::uno::UNO_QUERY_THROW); - CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.text.DocumentIndex"), - xDocumentIndex->getServiceName()); - } + virtual css::uno::Reference<css::text::XTextDocument> getTextDocument() = 0; /** * Gets the document from relation and insert a new index mark. @@ -57,21 +45,17 @@ public: */ void testUpdate() { - auto inputMap = init(); - - css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex( - inputMap["text::XDocumentIndex"], css::uno::UNO_QUERY_THROW); - css::uno::Reference<css::text::XTextDocument> xTextDocument(inputMap["text::XTextDocument"], - css::uno::UNO_QUERY_THROW); + css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex(init(), + css::uno::UNO_QUERY_THROW); bool bOK = true; try { - css::uno::Reference<css::text::XText> xText = xTextDocument->getText(); - css::uno::Reference<css::text::XTextRange> xTextRange = xText->getEnd(); + auto xText = getTextDocument()->getText(); + auto xTextRange = xText->getEnd(); xTextRange->setString("IndexMark"); css::uno::Reference<css::lang::XMultiServiceFactory> xFactory( - xTextDocument, css::uno::UNO_QUERY_THROW); + getTextDocument(), css::uno::UNO_QUERY_THROW); css::uno::Reference<css::text::XTextContent> xTextContentMark( xFactory->createInstance("com.sun.star.text.DocumentIndexMark"), css::uno::UNO_QUERY_THROW); diff --git a/sw/qa/api/XTextContentTest.hxx b/sw/qa/api/XTextContentTest.hxx index f3227a5c2204..e8bf94fbce9c 100644 --- a/sw/qa/api/XTextContentTest.hxx +++ b/sw/qa/api/XTextContentTest.hxx @@ -26,6 +26,7 @@ namespace apitest class XTextContentTest : public ApiTestBase { public: + virtual css::uno::Reference<css::text::XTextDocument> getTextDocument() = 0; /** * Tries to attach the text content to the test range * gotten with getAnchor(). If relations are found @@ -35,19 +36,20 @@ public: */ void testAttach() { - auto map = init(); - css::uno::Reference<css::text::XTextContent> xTextContent( - map["text::XTextContent#Instance"], css::uno::UNO_QUERY_THROW); - css::uno::Reference<css::text::XTextRange> xTextRange(map["text::XTextRange"], - css::uno::UNO_QUERY_THROW); - - xTextContent->attach(xTextRange); + css::uno::Reference<css::text::XTextContent> xTextContent(init(), + css::uno::UNO_QUERY_THROW); + auto xTextCursor = getTextDocument()->getText()->createTextCursor(); + xTextCursor->gotoEnd(false); + css::uno::Reference<css::lang::XMultiServiceFactory> xMSF(getTextDocument(), + css::uno::UNO_QUERY_THROW); + css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex( + xMSF->createInstance("com.sun.star.text.DocumentIndex"), css::uno::UNO_QUERY_THROW); + xDocumentIndex->attach(xTextCursor); } void testGetAnchor() { - auto map = init(); - css::uno::Reference<css::text::XTextContent> xTextContent(map["text::XTextContent"], + css::uno::Reference<css::text::XTextContent> xTextContent(init(), css::uno::UNO_QUERY_THROW); CPPUNIT_ASSERT_EQUAL(OUString(""), xTextContent->getAnchor()->getString()); } diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx index aa512beb2a98..20feb24d8e46 100644 --- a/sw/source/uibase/uno/SwXDocumentSettings.cxx +++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx @@ -1394,7 +1394,7 @@ void SwXDocumentSettings::_postGetValues () // XServiceInfo OUString SAL_CALL SwXDocumentSettings::getImplementationName( ) { - return OUString("com.sun.star.comp.Writer.DocumentSettings"); + return OUString("SwXDocumentSettings"); } sal_Bool SAL_CALL SwXDocumentSettings::supportsService( const OUString& ServiceName ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits