diff options
author | Jens Carl <j.carl43@gmx.de> | 2019-02-26 21:43:29 +0000 |
---|---|---|
committer | Jens Carl <j.carl43@gmx.de> | 2019-02-27 09:39:42 +0100 |
commit | 4b98337699e5e59a543d95c73ea7c64b3d9a1caf (patch) | |
tree | bfaf0cb51e942c2b3c5207e7d5403270c53b337b /test/source/container | |
parent | 48dc1e48d0fed5e00a3e4b5edf11a90fcc55b5ed (diff) |
Add missing XNameContainer tests to ScDataPilotFieldGroupsObj
Change-Id: Ia59b2a6136e2e56bf6c43a84e3cb6268471278a5
Reviewed-on: https://gerrit.libreoffice.org/68410
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
Diffstat (limited to 'test/source/container')
-rw-r--r-- | test/source/container/xnamecontainer.cxx | 87 |
1 files changed, 63 insertions, 24 deletions
diff --git a/test/source/container/xnamecontainer.cxx b/test/source/container/xnamecontainer.cxx index fefc5d35530e..c871debaecce 100644 --- a/test/source/container/xnamecontainer.cxx +++ b/test/source/container/xnamecontainer.cxx @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * @@ -8,47 +8,86 @@ */ #include <test/container/xnamecontainer.hxx> + +#include <com/sun/star/container/ElementExistException.hpp> +#include <com/sun/star/container/NoSuchElementException.hpp> #include <com/sun/star/container/XNameContainer.hpp> +#include <com/sun/star/lang/IllegalArgumentException.hpp> #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> +#include <com/sun/star/uno/Any.hxx> +#include <com/sun/star/uno/Reference.hxx> + #include <cppunit/extensions/HelperMacros.h> + #include <iostream> using namespace css; -using namespace css::uno; -namespace apitest { +namespace apitest +{ +void XNameContainer::testInsertByName() +{ + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); -XNameContainer::XNameContainer(): maNameToRemove("XNameContainer") + CPPUNIT_ASSERT(!xNameContainer->hasByName(m_aName + "Insert")); + xNameContainer->insertByName(m_aName + "Insert", m_aElement); + CPPUNIT_ASSERT(xNameContainer->hasByName(m_aName + "Insert")); +} + +void XNameContainer::testInsertByNameEmptyName() { + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + + uno::Any aAny; + CPPUNIT_ASSERT_THROW(xNameContainer->insertByName("", aAny), lang::IllegalArgumentException); } -XNameContainer::XNameContainer(const OUString& rNameToRemove): - maNameToRemove(rNameToRemove) +void XNameContainer::testInsertByNameInvalidElement() { + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + + // TODO: Find a way to create an invalid element. + // CPPUNIT_ASSERT_THROW(xNameContainer->insertByName("Dummy", nullptr), + // lang::IllegalArgumentException); +} + +void XNameContainer::testInsertByNameDuplicate() +{ + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + + uno::Any aAny; + CPPUNIT_ASSERT(!xNameContainer->hasByName(m_aName)); + xNameContainer->insertByName(m_aName, aAny); + CPPUNIT_ASSERT(xNameContainer->hasByName(m_aName)); + + CPPUNIT_ASSERT_THROW(xNameContainer->insertByName(m_aName, aAny), + container::ElementExistException); } void XNameContainer::testRemoveByName() { - uno::Reference< container::XNameContainer > xNameContainer(init(),UNO_QUERY_THROW); - CPPUNIT_ASSERT(xNameContainer->hasByName(maNameToRemove)); - xNameContainer->removeByName(maNameToRemove); - CPPUNIT_ASSERT(!xNameContainer->hasByName(maNameToRemove)); - - bool bExceptionThrown = false; - try - { - xNameContainer->removeByName(maNameToRemove); - } - catch( const container::NoSuchElementException& ) - { - std::cout << "Exception Caught" << std::endl; - bExceptionThrown = true; - } - - CPPUNIT_ASSERT_MESSAGE("no exception thrown", bExceptionThrown); + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT(xNameContainer->hasByName(m_aName)); + xNameContainer->removeByName(m_aName); + CPPUNIT_ASSERT(!xNameContainer->hasByName(m_aName)); +} + +void XNameContainer::testRemoveByNameEmptyName() +{ + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + + CPPUNIT_ASSERT_THROW(xNameContainer->removeByName(""), lang::IllegalArgumentException); } +void XNameContainer::testRemoveByNameNoneExistingElement() +{ + uno::Reference<container::XNameContainer> xNameContainer(init(), uno::UNO_QUERY_THROW); + + CPPUNIT_ASSERT_THROW(xNameContainer->removeByName("UnitTest"), + container::NoSuchElementException); } -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +} // namespace apitest + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |