summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJens Carl <j.carl43@gmx.de>2019-02-26 21:43:29 +0000
committerJens Carl <j.carl43@gmx.de>2019-02-27 09:39:42 +0100
commit4b98337699e5e59a543d95c73ea7c64b3d9a1caf (patch)
treebfaf0cb51e942c2b3c5207e7d5403270c53b337b /test
parent48dc1e48d0fed5e00a3e4b5edf11a90fcc55b5ed (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')
-rw-r--r--test/source/container/xnamecontainer.cxx87
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: */