include/test/text/xtextrangecompare.hxx                         |   37 ++++
 qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv     |    2 
 qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv |    2 
 qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv |    2 
 sw/qa/api/SwXBodyText.cxx                                       |    6 
 sw/qa/api/SwXFootnoteText.cxx                                   |    6 
 sw/qa/api/SwXHeadFootText.cxx                                   |   34 ++--
 test/Library_subsequenttest.mk                                  |    1 
 test/source/text/xtextrangecompare.cxx                          |   76 
++++++++++
 9 files changed, 143 insertions(+), 23 deletions(-)

New commits:
commit 7a762a2c7ec5fe107697c06d31bc7a184011a338
Author:     anfanite396 <[email protected]>
AuthorDate: Fri Aug 11 23:29:32 2023 +0530
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Fri Aug 25 08:25:53 2023 +0200

    tdf#45904: Move _XTextRangeCompare Java tests to C++
    
    Change-Id: I40390a8b05f0e685a9408f0c486f6129633bc5b5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155634
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/include/test/text/xtextrangecompare.hxx 
b/include/test/text/xtextrangecompare.hxx
new file mode 100644
index 000000000000..b7e36a5cc445
--- /dev/null
+++ b/include/test/text/xtextrangecompare.hxx
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include <rtl/ustring.hxx>
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <utility>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTextRangeCompare
+{
+public:
+    virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+    void testCompareRegionStarts();
+    void testCompareRegionEnds();
+
+protected:
+    ~XTextRangeCompare() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv 
b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
index 45ebfd332ec9..44603eda85f2 100644
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
@@ -1,6 +1,4 @@
 
"SwXBodyText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
-"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
-"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
 "SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursor()"
 "SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
 "SwXBodyText";"com::sun::star::text::XSimpleText";"insertString()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv 
b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
index 3f3663b8c2dd..6bba3d3cf263 100644
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
@@ -1,6 +1,4 @@
 
"SwXFootnoteText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
-"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
-"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
 "SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursor()"
 
"SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
 "SwXFootnoteText";"com::sun::star::text::XSimpleText";"insertString()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv 
b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
index 0602fbf2e584..7e780f968a58 100644
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
@@ -1,6 +1,4 @@
 
"SwXHeadFootText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
-"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
-"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
 "SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursor()"
 
"SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
 "SwXHeadFootText";"com::sun::star::text::XSimpleText";"insertString()"
diff --git a/sw/qa/api/SwXBodyText.cxx b/sw/qa/api/SwXBodyText.cxx
index d364ba3a8aa0..69fb22a959b2 100644
--- a/sw/qa/api/SwXBodyText.cxx
+++ b/sw/qa/api/SwXBodyText.cxx
@@ -12,6 +12,7 @@
 #include <test/container/xelementaccess.hxx>
 #include <test/text/xtextrange.hxx>
 #include <test/container/xenumerationaccess.hxx>
+#include <test/text/xtextrangecompare.hxx>
 #include <unotest/macros_test.hxx>
 
 #include <com/sun/star/frame/Desktop.hpp>
@@ -36,7 +37,8 @@ class SwXBodyText final : public test::BootstrapFixture,
                           public apitest::XElementAccess,
                           public apitest::XTextRange,
                           public apitest::XSimpleText,
-                          public apitest::XEnumerationAccess
+                          public apitest::XEnumerationAccess,
+                          public apitest::XTextRangeCompare
 {
 public:
     SwXBodyText();
@@ -57,6 +59,8 @@ public:
     CPPUNIT_TEST(testGetEnd);
     CPPUNIT_TEST(testGetSetString);
     CPPUNIT_TEST(testCreateEnumeration);
+    CPPUNIT_TEST(testCompareRegionStarts);
+    CPPUNIT_TEST(testCompareRegionEnds);
     CPPUNIT_TEST_SUITE_END();
 
 private:
diff --git a/sw/qa/api/SwXFootnoteText.cxx b/sw/qa/api/SwXFootnoteText.cxx
index 9e8bab00c544..23697293352a 100644
--- a/sw/qa/api/SwXFootnoteText.cxx
+++ b/sw/qa/api/SwXFootnoteText.cxx
@@ -13,6 +13,7 @@
 #include <test/text/xtextrange.hxx>
 #include <test/text/xtext.hxx>
 #include <test/container/xenumerationaccess.hxx>
+#include <test/text/xtextrangecompare.hxx>
 #include <unotest/macros_test.hxx>
 
 #include <com/sun/star/frame/Desktop.hpp>
@@ -40,7 +41,8 @@ class SwXFootnoteText final : public test::BootstrapFixture,
                               public apitest::XSimpleText,
                               public apitest::XTextRange,
                               public apitest::XText,
-                              public apitest::XEnumerationAccess
+                              public apitest::XEnumerationAccess,
+                              public apitest::XTextRangeCompare
 {
 public:
     SwXFootnoteText();
@@ -63,6 +65,8 @@ public:
     CPPUNIT_TEST(testGetText);
     // CPPUNIT_TEST(testInsertRemoveTextContent);
     CPPUNIT_TEST(testCreateEnumeration);
+    CPPUNIT_TEST(testCompareRegionStarts);
+    CPPUNIT_TEST(testCompareRegionEnds);
     CPPUNIT_TEST_SUITE_END();
 
 private:
diff --git a/sw/qa/api/SwXHeadFootText.cxx b/sw/qa/api/SwXHeadFootText.cxx
index ca51ba8c0069..b3769ccc58a1 100644
--- a/sw/qa/api/SwXHeadFootText.cxx
+++ b/sw/qa/api/SwXHeadFootText.cxx
@@ -13,6 +13,7 @@
 #include <test/text/xtextrange.hxx>
 #include <test/text/xtext.hxx>
 #include <test/container/xenumerationaccess.hxx>
+#include <test/text/xtextrangecompare.hxx>
 #include <unotest/macros_test.hxx>
 
 #include <com/sun/star/frame/Desktop.hpp>
@@ -34,25 +35,26 @@ using namespace css::uno;
 namespace
 {
 /**
- * Initial tests for SwXHeadFootTextText.
+ * Initial tests for SwXHeadFootText.
  */
-class SwXHeadFootTextText final : public test::BootstrapFixture,
-                                  public unotest::MacrosTest,
-                                  public apitest::XElementAccess,
-                                  public apitest::XSimpleText,
-                                  public apitest::XTextRange,
-                                  public apitest::XText,
-                                  public apitest::XEnumerationAccess
+class SwXHeadFootText final : public test::BootstrapFixture,
+                              public unotest::MacrosTest,
+                              public apitest::XElementAccess,
+                              public apitest::XSimpleText,
+                              public apitest::XTextRange,
+                              public apitest::XText,
+                              public apitest::XEnumerationAccess,
+                              public apitest::XTextRangeCompare
 {
 public:
-    SwXHeadFootTextText();
+    SwXHeadFootText();
     virtual void setUp() override;
     void tearDown() override;
 
     Reference<XInterface> init() override;
     Reference<text::XTextContent> getTextContent() override { return 
mxTextContent; };
 
-    CPPUNIT_TEST_SUITE(SwXHeadFootTextText);
+    CPPUNIT_TEST_SUITE(SwXHeadFootText);
     CPPUNIT_TEST(testGetElementType);
     CPPUNIT_TEST(testHasElements);
     CPPUNIT_TEST(testCreateTextCursor);
@@ -65,6 +67,8 @@ public:
     CPPUNIT_TEST(testGetText);
     // CPPUNIT_TEST(testInsertRemoveTextContent);
     CPPUNIT_TEST(testCreateEnumeration);
+    CPPUNIT_TEST(testCompareRegionStarts);
+    CPPUNIT_TEST(testCompareRegionEnds);
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -72,19 +76,19 @@ private:
     Reference<text::XTextContent> mxTextContent;
 };
 
-SwXHeadFootTextText::SwXHeadFootTextText()
+SwXHeadFootText::SwXHeadFootText()
     : XElementAccess(cppu::UnoType<text::XTextRange>::get())
 {
 }
 
-void SwXHeadFootTextText::setUp()
+void SwXHeadFootText::setUp()
 {
     test::BootstrapFixture::setUp();
     mxDesktop.set(
         
frame::Desktop::create(comphelper::getComponentContext(getMultiServiceFactory())));
 }
 
-void SwXHeadFootTextText::tearDown()
+void SwXHeadFootText::tearDown()
 {
     if (component_.is())
         component_->dispose();
@@ -92,7 +96,7 @@ void SwXHeadFootTextText::tearDown()
     test::BootstrapFixture::tearDown();
 }
 
-Reference<XInterface> SwXHeadFootTextText::init()
+Reference<XInterface> SwXHeadFootText::init()
 {
     component_ = loadFromDesktop("private:factory/swriter", 
"com.sun.star.text.TextDocument");
     Reference<text::XTextDocument> xTextDocument(component_, UNO_QUERY_THROW);
@@ -114,7 +118,7 @@ Reference<XInterface> SwXHeadFootTextText::init()
     return Reference<XInterface>(xText, UNO_QUERY_THROW);
 }
 
-CPPUNIT_TEST_SUITE_REGISTRATION(SwXHeadFootTextText);
+CPPUNIT_TEST_SUITE_REGISTRATION(SwXHeadFootText);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk
index de084b1ab9e0..a8f4258df040 100644
--- a/test/Library_subsequenttest.mk
+++ b/test/Library_subsequenttest.mk
@@ -197,6 +197,7 @@ $(eval $(call 
gb_Library_add_exception_objects,subsequenttest,\
        test/source/text/xtextcontent \
        test/source/text/xtextfield \
        test/source/text/xtextrange \
+       test/source/text/xtextrangecompare \
     test/source/text/xdocumentindex \
     test/source/text/textdocumentsettings \
     test/source/text/textprintersettings \
diff --git a/test/source/text/xtextrangecompare.cxx 
b/test/source/text/xtextrangecompare.cxx
new file mode 100644
index 000000000000..b31d6b864332
--- /dev/null
+++ b/test/source/text/xtextrangecompare.cxx
@@ -0,0 +1,76 @@
+/* -*- 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 <test/text/xtextrangecompare.hxx>
+
+#include <com/sun/star/text/XText.hpp>
+#include <com/sun/star/text/XTextCursor.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
+#include <com/sun/star/text/XTextRangeCompare.hpp>
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <cppunit/TestAssert.h>
+
+using namespace css;
+using namespace css::uno;
+
+namespace apitest
+{
+void XTextRangeCompare::testCompareRegionStarts()
+{
+    Reference<text::XTextRangeCompare> xCompare(init(), UNO_QUERY_THROW);
+    Reference<text::XText> xText(xCompare, UNO_QUERY_THROW);
+
+    try
+    {
+        Reference<text::XTextCursor> xCursor1 = xText->createTextCursor();
+        xText->insertString(xCursor1, "XTextRangeCompare", false);
+
+        xCursor1->gotoStart(false);
+        xCursor1->goRight(5, true);
+        Reference<text::XTextCursor> xCursor2 = xText->createTextCursor();
+        xCursor2->gotoEnd(false);
+        xCursor2->goLeft(7, true);
+
+        CPPUNIT_ASSERT(xCompare->compareRegionStarts(xCursor1, xCursor2));
+    }
+    catch (lang::IllegalArgumentException&)
+    {
+    }
+}
+
+void XTextRangeCompare::testCompareRegionEnds()
+{
+    Reference<text::XTextRangeCompare> xCompare(init(), UNO_QUERY_THROW);
+    Reference<text::XText> xText(xCompare, UNO_QUERY_THROW);
+
+    try
+    {
+        Reference<text::XTextCursor> xCursor1 = xText->createTextCursor();
+        xText->insertString(xCursor1, "XTextRangeCompare", false);
+
+        xCursor1->gotoStart(false);
+        xCursor1->goRight(5, true);
+        Reference<text::XTextCursor> xCursor2 = xText->createTextCursor();
+        xCursor2->gotoEnd(false);
+        xCursor2->goLeft(7, true);
+
+        CPPUNIT_ASSERT(xCompare->compareRegionEnds(xCursor1, xCursor2));
+    }
+    catch (lang::IllegalArgumentException&)
+    {
+    }
+}
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */

Reply via email to