diff options
-rw-r--r-- | include/test/text/xautotextcontainer.hxx | 45 | ||||
-rw-r--r-- | qadevOOo/Jar_OOoRunner.mk | 1 | ||||
-rw-r--r-- | qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv | 2 | ||||
-rw-r--r-- | qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java | 132 | ||||
-rw-r--r-- | sw/qa/api/SwXAutoTextContainer.cxx | 15 | ||||
-rw-r--r-- | test/Library_subsequenttest.mk | 1 | ||||
-rw-r--r-- | test/source/text/xautotextcontainer.cxx | 54 |
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: */ |