summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/test/text/xautotextcontainer.hxx45
-rw-r--r--qadevOOo/Jar_OOoRunner.mk1
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv2
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java132
-rw-r--r--sw/qa/api/SwXAutoTextContainer.cxx15
-rw-r--r--test/Library_subsequenttest.mk1
-rw-r--r--test/source/text/xautotextcontainer.cxx54
7 files changed, 112 insertions, 138 deletions
diff --git a/include/test/text/xautotextcontainer.hxx b/include/test/text/xautotextcontainer.hxx
new file mode 100644
index 000000000000..a2ab07497362
--- /dev/null
+++ b/include/test/text/xautotextcontainer.hxx
@@ -0,0 +1,45 @@
+/* -*- 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 XAutoTextContainer
+{
+public:
+ XAutoTextContainer(OUString aNameToRemove)
+ : m_aName(std::move(aNameToRemove))
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testInsertNewByName();
+ void testRemoveByName();
+
+protected:
+ ~XAutoTextContainer() {}
+
+private:
+ OUString m_aName;
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/qadevOOo/Jar_OOoRunner.mk b/qadevOOo/Jar_OOoRunner.mk
index 71b0beaa1b9d..cb0422a1dbe3 100644
--- a/qadevOOo/Jar_OOoRunner.mk
+++ b/qadevOOo/Jar_OOoRunner.mk
@@ -616,7 +616,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
qadevOOo/tests/java/ifc/text/_TextTable \
qadevOOo/tests/java/ifc/text/_TextTableRow \
qadevOOo/tests/java/ifc/text/_ViewSettings \
- qadevOOo/tests/java/ifc/text/_XAutoTextContainer \
qadevOOo/tests/java/ifc/text/_XAutoTextEntry \
qadevOOo/tests/java/ifc/text/_XAutoTextGroup \
qadevOOo/tests/java/ifc/text/_XBookmarksSupplier \
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
index 25352ae1f972..d1c6e381eb9b 100644
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
@@ -5,5 +5,3 @@
"SwXAutoTextContainer";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"getElementType()"
"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"hasElements()"
-"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"insertNewByName()"
-"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"removeByName()"
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java b/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
deleted file mode 100644
index fed159a320b2..000000000000
--- a/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
+++ /dev/null
@@ -1,132 +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 ifc.text;
-
-import lib.MultiMethodTest;
-
-import com.sun.star.text.XAutoTextContainer;
-import com.sun.star.text.XAutoTextGroup;
-
-/**
- * Testing <code>com.sun.star.text.XAutoTextContainer</code>
- * interface methods :
- * <ul>
- * <li><code> insertNewByName()</code></li>
- * <li><code> removeByName()</code></li>
- * </ul> <p>
- * Test is <b> NOT </b> multithread compliant. <p>
- * @see com.sun.star.text.XAutoTextContainer
- */
-public class _XAutoTextContainer extends MultiMethodTest {
- public XAutoTextContainer oObj = null;
- // every Thread must insert its own AutoTextContainer:
- public String Name = "";
-
- /**
- * First removes old element from container with the specified name
- * if it exists. Then tries to add a new group with the specified
- * name. <p>
- *
- * Has <b>OK</b> status if not <code>null</code>
- * <code>AutoTextGroup</code> instance is returned.
- */
- public void _insertNewByName() {
- System.out.println("Starting: insertNewByName");
- boolean result = true;
- Name = "XAutoTextContainerx" + Thread.currentThread().getName();
- Name = Name.replace('-','x');
- Name = Name.replace(':','x');
- Name = Name.replace('.','x');
- XAutoTextGroup oGroup = null;
- //first clear the container
- log.println("remove old elements in container");
- System.out.println("remove old elements in container");
- try {
- oObj.removeByName(Name);
- log.println("old elements removed -> OK");
- System.out.println("old elements removed -> OK");
- } catch (com.sun.star.container.NoSuchElementException e) {
- log.println("no old elements available -> OK");
- System.out.println("no old elements available -> OK");
- }
-
- // insert an element
- log.println("insertNewByName");
- try {
- System.out.println("Inserting element with name '" + Name + "'");
- log.println("Inserting element with name '" + Name + "'");
- oGroup = oObj.insertNewByName(Name);
- System.out.println("done");
- } catch (com.sun.star.container.ElementExistException e) {
- log.println("insertNewByName(): " + e);
- result &= false;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- log.println("insertNewByName(): " + e);
- result &= false;
- }
-
- result &= ( oGroup != null );
- tRes.tested("insertNewByName()", result);
- } // end insertNewByName()
-
- /**
- * First removes element by name which was added before,
- * then tries to remove the element with the same name again. <p>
- *
- * Has <b> OK </b> status if in the first case no exceptions
- * were thrown, and in the second case
- * <code>NoSuchElementException</code> was thrown. <p>
- *
- * The following method tests are to be completed successfully before :
- * <ul>
- * <li> <code> insertNewByName() </code> : new element inserted here.</li>
- * </ul>
- */
- public void _removeByName() {
- requiredMethod("insertNewByName()");
-
- boolean result = true;
- // remove the element
- log.println("removeByName()");
- try {
- log.println("Removing element with name '" + Name + "'");
- oObj.removeByName(Name);
- result &= true;
- } catch (com.sun.star.container.NoSuchElementException e) {
- result = false;
- log.println("removeByName(): " + e + " -> FAILED");
- }
-
- log.println("2nd removeByName()");
- try {
- oObj.removeByName(Name);
- log.println("No exceptions were thrown -> FAILED");
- result = false ;
- } catch (com.sun.star.container.NoSuchElementException e) {
- log.println("2nd removeByName(): -> OK");
- result &= true;
- }
-
- tRes.tested("removeByName()", result);
-
- } // end removeByName()
-
-} /// finish class XAutoTextContainer
-
-
diff --git a/sw/qa/api/SwXAutoTextContainer.cxx b/sw/qa/api/SwXAutoTextContainer.cxx
index 7651c4360e9a..f848846324e0 100644
--- a/sw/qa/api/SwXAutoTextContainer.cxx
+++ b/sw/qa/api/SwXAutoTextContainer.cxx
@@ -11,6 +11,7 @@
#include <test/container/xnameaccess.hxx>
#include <test/container/xindexaccess.hxx>
#include <test/container/xelementaccess.hxx>
+#include <test/text/xautotextcontainer.hxx>
#include <com/sun/star/frame/Desktop.hpp>
@@ -30,14 +31,16 @@ namespace
class SwXAutoTextContainer final : public UnoApiTest,
public apitest::XElementAccess,
public apitest::XIndexAccess,
- public apitest::XNameAccess
+ public apitest::XNameAccess,
+ public apitest::XAutoTextContainer
{
public:
SwXAutoTextContainer()
: UnoApiTest("")
, XElementAccess(cppu::UnoType<text::XAutoTextGroup>::get())
, XIndexAccess(3)
- , XNameAccess("standard")
+ , XNameAccess("crdbus50")
+ , XAutoTextContainer("crdbus50")
{
}
@@ -52,6 +55,10 @@ public:
Reference<text::XAutoTextContainer> xAutoTextContainer
= text::AutoTextContainer::create(comphelper::getProcessComponentContext());
+ Reference<container::XNameAccess> xNA(xAutoTextContainer, UNO_QUERY_THROW);
+ Sequence<rtl::OUString> aNames = xNA->getElementNames();
+ std::cout << aNames[0] << std::endl;
+
return Reference<XInterface>(xAutoTextContainer, UNO_QUERY_THROW);
}
@@ -63,10 +70,12 @@ public:
CPPUNIT_TEST(testGetByIndex);
CPPUNIT_TEST(testGetElementType);
CPPUNIT_TEST(testHasElements);
+ CPPUNIT_TEST(testInsertNewByName);
+ CPPUNIT_TEST(testRemoveByName);
CPPUNIT_TEST_SUITE_END();
};
CPPUNIT_TEST_SUITE_REGISTRATION(SwXAutoTextContainer);
}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk
index f86818722d10..de084b1ab9e0 100644
--- a/test/Library_subsequenttest.mk
+++ b/test/Library_subsequenttest.mk
@@ -191,6 +191,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\
test/source/text/baseindexmark \
test/source/text/numberingrules \
test/source/text/textcontent \
+ test/source/text/xautotextcontainer \
test/source/text/xsimpletext \
test/source/text/xtext \
test/source/text/xtextcontent \
diff --git a/test/source/text/xautotextcontainer.cxx b/test/source/text/xautotextcontainer.cxx
new file mode 100644
index 000000000000..b1d001ba4dcd
--- /dev/null
+++ b/test/source/text/xautotextcontainer.cxx
@@ -0,0 +1,54 @@
+/* -*- 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/xautotextcontainer.hxx>
+
+#include <com/sun/star/container/ElementExistException.hpp>
+#include <com/sun/star/container/NoSuchElementException.hpp>
+#include <com/sun/star/text/XAutoTextContainer.hpp>
+#include <com/sun/star/text/XAutoTextGroup.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;
+
+namespace apitest
+{
+void XAutoTextContainer::testInsertNewByName()
+{
+ uno::Reference<text::XAutoTextContainer> xAutoTextContainer(init(), uno::UNO_QUERY_THROW);
+
+ try
+ {
+ xAutoTextContainer->removeByName(m_aName + "Insert");
+ }
+ catch (container::NoSuchElementException&)
+ {
+ }
+ uno::Reference<text::XAutoTextGroup> xGroup
+ = xAutoTextContainer->insertNewByName(m_aName + "Insert");
+
+ CPPUNIT_ASSERT(xGroup.is());
+}
+
+void XAutoTextContainer::testRemoveByName()
+{
+ uno::Reference<text::XAutoTextContainer> xAutoTextContainer(init(), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT(xAutoTextContainer->hasByName(m_aName));
+ xAutoTextContainer->removeByName(m_aName);
+ CPPUNIT_ASSERT(!xAutoTextContainer->hasByName(m_aName));
+}
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */