framework/qa/complex/api_internal/api.lst                       |    1 
 qadevOOo/Jar_OOoRunner.mk                                       |    1 
 qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv |    7 
 qadevOOo/tests/java/mod/_sw/SwXTextSections.java                |  122 
----------
 sw/CppunitTest_sw_apitests.mk                                   |    1 
 sw/qa/api/SwXTextSections.cxx                                   |  100 ++++++++
 sw/qa/unoapi/sw_3.sce                                           |    1 
 7 files changed, 101 insertions(+), 132 deletions(-)

New commits:
commit 49c4f0581c7a926f0ab836241f912c70fc9cac75
Author:     anfanite396 <dipamt1...@gmail.com>
AuthorDate: Thu Aug 17 22:04:54 2023 +0530
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Wed Aug 23 15:26:51 2023 +0200

    tdf#45904: Move SwXTextSections Java tests to C++
    
    Change-Id: I24f7098f71a126790a177715a85fcea2724cb4aa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155808
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/framework/qa/complex/api_internal/api.lst 
b/framework/qa/complex/api_internal/api.lst
index c7bf6a1386a3..0104075a89b8 100644
--- a/framework/qa/complex/api_internal/api.lst
+++ b/framework/qa/complex/api_internal/api.lst
@@ -176,7 +176,6 @@ job239=sw.SwXTextPortionEnumeration
 job240=sw.SwXTextRanges
 job241=sw.SwXTextSearch
 job242=sw.SwXTextSection
-job243=sw.SwXTextSections
 job244=sw.SwXTextTableRow
 job245=sw.SwXTextTables
 job246=sw.SwXViewSettings
diff --git a/qadevOOo/Jar_OOoRunner.mk b/qadevOOo/Jar_OOoRunner.mk
index 3c2e2d780fa1..4347ae7f24fe 100644
--- a/qadevOOo/Jar_OOoRunner.mk
+++ b/qadevOOo/Jar_OOoRunner.mk
@@ -1147,7 +1147,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
     qadevOOo/tests/java/mod/_sw/SwXTextRanges \
     qadevOOo/tests/java/mod/_sw/SwXTextSearch \
     qadevOOo/tests/java/mod/_sw/SwXTextSection \
-    qadevOOo/tests/java/mod/_sw/SwXTextSections \
     qadevOOo/tests/java/mod/_sw/SwXTextTable \
     qadevOOo/tests/java/mod/_sw/SwXTextTableCursor \
     qadevOOo/tests/java/mod/_sw/SwXTextTableRow \
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv 
b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
deleted file mode 100644
index 990ae764df98..000000000000
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
+++ /dev/null
@@ -1,7 +0,0 @@
-"SwXTextSections";"com::sun::star::container::XNameAccess";"getByName()"
-"SwXTextSections";"com::sun::star::container::XNameAccess";"getElementNames()"
-"SwXTextSections";"com::sun::star::container::XNameAccess";"hasByName()"
-"SwXTextSections";"com::sun::star::container::XIndexAccess";"getCount()"
-"SwXTextSections";"com::sun::star::container::XIndexAccess";"getByIndex()"
-"SwXTextSections";"com::sun::star::container::XElementAccess";"getElementType()"
-"SwXTextSections";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSections.java 
b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
deleted file mode 100644
index c00d0cb5ed94..000000000000
--- a/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package mod._sw;
-
-import java.io.PrintWriter;
-
-import lib.TestCase;
-import lib.TestEnvironment;
-import lib.TestParameters;
-import util.SOfficeFactory;
-
-import com.sun.star.container.XNameAccess;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.text.XText;
-import com.sun.star.text.XTextContent;
-import com.sun.star.text.XTextCursor;
-import com.sun.star.text.XTextDocument;
-import com.sun.star.text.XTextSectionsSupplier;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XInterface;
-
-/**
- *
- * initial description
- * @see com.sun.star.text.XText
- *
- */
-public class SwXTextSections extends TestCase {
-    XTextDocument xTextDoc;
-
-    @Override
-    protected void initialize( TestParameters tParam, PrintWriter log ) throws 
Exception {
-        SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
-        log.println( "creating a textdocument" );
-        xTextDoc = SOF.createTextDoc( null );
-    }
-
-    @Override
-    protected void cleanup( TestParameters tParam, PrintWriter log ) {
-        log.println( "    disposing xTextDoc " );
-        util.DesktopTools.closeDoc(xTextDoc);
-    }
-
-    /**
-     *    creating a TestEnvironment for the interfaces to be tested
-     */
-    @Override
-    public TestEnvironment createTestEnvironment
-        (TestParameters Param, PrintWriter log ) throws Exception {
-
-        XInterface oObj = null;
-        XInterface oTS = null;
-        XNameAccess oTSSuppName = null;
-
-        XText oText = null;
-
-        // creation of testobject here
-        // first we write what we are intend to do to log file
-        log.println( "creating a test environment" );
-
-
-        oText = xTextDoc.getText();
-        XTextCursor oCursor = oText.createTextCursor();
-
-
-        log.println( "inserting TextSections" );
-
-        XMultiServiceFactory oDocMSF = 
UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
-
-        // First TextSection
-        oTS = (XInterface) oDocMSF.createInstance
-            ("com.sun.star.text.TextSection");
-        XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
-        oText.insertTextContent(oCursor, oTSC, false);
-
-        // Second TextSection
-        oTS = (XInterface) oDocMSF.createInstance
-            ("com.sun.star.text.TextSection");
-        XTextContent oTSC2 = UnoRuntime.queryInterface(XTextContent.class, 
oTS);
-        oText.insertTextContent(oCursor, oTSC2, false);
-
-
-        log.println( "try to get a TextSection with the 
XTextSectionSupplier()" );
-
-        try{
-            XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface( 
XTextSectionsSupplier.class,
-            xTextDoc );
-            oTSSuppName = oTSSupp.getTextSections();
-        }
-        catch(Exception e){
-            System.out.println("Couldn't get Textsection " + e);
-        }
-
-
-        oObj = oTSSuppName;
-
-        log.println( "creating a new environment for TextSections object" );
-        TestEnvironment tEnv = new TestEnvironment( oObj );
-
-        log.println( "adding TextDocument as mod relation to environment" );
-        tEnv.addObjRelation("TEXTDOC", xTextDoc);
-
-        return tEnv;
-    } // finish method getTestEnvironment
-
-}    // finish class SwXTextSection
diff --git a/sw/CppunitTest_sw_apitests.mk b/sw/CppunitTest_sw_apitests.mk
index f2b361cec272..67bb6f090ff6 100644
--- a/sw/CppunitTest_sw_apitests.mk
+++ b/sw/CppunitTest_sw_apitests.mk
@@ -41,6 +41,7 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sw_apitests, \
     sw/qa/api/SwXTextFrame \
     sw/qa/api/SwXTextField \
     sw/qa/api/SwXTextFieldTypes \
+    sw/qa/api/SwXTextSections \
     sw/qa/api/SwXTextTable \
 ))
 
diff --git a/sw/qa/api/SwXTextSections.cxx b/sw/qa/api/SwXTextSections.cxx
new file mode 100644
index 000000000000..0e957ad911f9
--- /dev/null
+++ b/sw/qa/api/SwXTextSections.cxx
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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 <test/unoapi_test.hxx>
+#include <test/container/xnameaccess.hxx>
+#include <test/container/xindexaccess.hxx>
+#include <test/container/xelementaccess.hxx>
+
+#include <com/sun/star/frame/Desktop.hpp>
+
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/text/XText.hpp>
+#include <com/sun/star/text/XTextContent.hpp>
+#include <com/sun/star/text/XTextCursor.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
+#include <com/sun/star/text/XTextSection.hpp>
+#include <com/sun/star/text/XTextSectionsSupplier.hpp>
+
+using namespace css;
+using namespace css::uno;
+
+namespace
+{
+/**
+ * Initial tests for SwXTextSections.
+ */
+class SwXTextSections final : public UnoApiTest,
+                              public apitest::XElementAccess,
+                              public apitest::XIndexAccess,
+                              public apitest::XNameAccess
+{
+public:
+    SwXTextSections()
+        : UnoApiTest("")
+        , XElementAccess(cppu::UnoType<text::XTextSection>::get())
+        , XIndexAccess(2)
+        , XNameAccess("TextSection")
+    {
+    }
+
+    virtual void setUp() override
+    {
+        UnoApiTest::setUp();
+        mxDesktop.set(frame::Desktop::create(mxComponentContext));
+        mxComponent = loadFromDesktop("private:factory/swriter");
+        CPPUNIT_ASSERT(mxComponent.is());
+    }
+
+    Reference<XInterface> init() override
+    {
+        Reference<text::XTextDocument> xTextDocument(mxComponent, 
UNO_QUERY_THROW);
+        Reference<lang::XMultiServiceFactory> xMSF(mxComponent, 
UNO_QUERY_THROW);
+
+        Reference<text::XText> xText = xTextDocument->getText();
+        Reference<text::XTextCursor> xCursor = xText->createTextCursor();
+
+        Reference<text::XTextContent> xContent(
+            xMSF->createInstance("com.sun.star.text.TextSection"), 
UNO_QUERY_THROW);
+        xText->insertTextContent(xCursor, xContent, false);
+
+        Reference<text::XTextContent> xContent2(
+            xMSF->createInstance("com.sun.star.text.TextSection"), 
UNO_QUERY_THROW);
+        xText->insertTextContent(xCursor, xContent2, false);
+
+        Reference<container::XNameAccess> xNameAccess;
+        try
+        {
+            Reference<text::XTextSectionsSupplier> xSupplier(xTextDocument, 
UNO_QUERY_THROW);
+            xNameAccess = xSupplier->getTextSections();
+        }
+        catch (Exception&)
+        {
+        }
+
+        return Reference<XInterface>(xNameAccess, UNO_QUERY_THROW);
+    }
+
+    CPPUNIT_TEST_SUITE(SwXTextSections);
+    CPPUNIT_TEST(testGetByName);
+    CPPUNIT_TEST(testGetElementNames);
+    CPPUNIT_TEST(testHasByName);
+    CPPUNIT_TEST(testGetCount);
+    CPPUNIT_TEST(testGetByIndex);
+    CPPUNIT_TEST(testGetElementType);
+    CPPUNIT_TEST(testHasElements);
+    CPPUNIT_TEST_SUITE_END();
+};
+
+CPPUNIT_TEST_SUITE_REGISTRATION(SwXTextSections);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/unoapi/sw_3.sce b/sw/qa/unoapi/sw_3.sce
index 8e4d3642a074..759419baebb0 100644
--- a/sw/qa/unoapi/sw_3.sce
+++ b/sw/qa/unoapi/sw_3.sce
@@ -33,4 +33,3 @@
 -o sw.SwXTextRanges
 -o sw.SwXTextSearch
 -o sw.SwXTextSection
--o sw.SwXTextSections

Reply via email to