[Libreoffice-commits] core.git: sw/qa sw/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Mar 17 17:08:03 UTC 2019


 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.michaelsen at libreoffice.org>
AuthorDate: Thu Mar 14 00:31:19 2019 +0100
Commit:     Björn Michaelsen <bjoern.michaelsen at 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.michaelsen at 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 )


More information about the Libreoffice-commits mailing list