tdf#45904 Move XNameContainer Java tests to C++
Move XNameContainer Java tests to C++ for ScStyleFamilyObj.
Change-Id: I8ff465262258ef5277d470369cc05f48bba25ce4
Reviewed-on: https://gerrit.libreoffice.org/69029
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv
index 4c5519b..10e3d65 100644
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv
@@ -1,3 +1 @@
"ScStyleFamilyObj";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
"ScStyleFamilyObj";"com::sun::star::container::XNameContainer#optional";"insertByName()"
"ScStyleFamilyObj";"com::sun::star::container::XNameContainer#optional";"removeByName()"
diff --git a/sc/qa/extras/scstylefamilyobj.cxx b/sc/qa/extras/scstylefamilyobj.cxx
index c9df85f..2ca381c 100644
--- a/sc/qa/extras/scstylefamilyobj.cxx
+++ b/sc/qa/extras/scstylefamilyobj.cxx
@@ -11,6 +11,7 @@
#include <test/container/xelementaccess.hxx>
#include <test/container/xindexaccess.hxx>
#include <test/container/xnameaccess.hxx>
#include <test/container/xnamecontainer.hxx>
#include <cppu/unotype.hxx>
#include <com/sun/star/container/XIndexAccess.hpp>
@@ -32,7 +33,8 @@
class ScStyleFamilyObj : public CalcUnoApiTest,
public apitest::XElementAccess,
public apitest::XIndexAccess,
public apitest::XNameAccess
public apitest::XNameAccess,
public apitest::XNameContainer
{
public:
ScStyleFamilyObj();
@@ -56,6 +58,13 @@
CPPUNIT_TEST(testGetElementNames);
CPPUNIT_TEST(testHasByName);
// XNameContainer
CPPUNIT_TEST(testInsertByName);
CPPUNIT_TEST(testInsertByNameDuplicate);
CPPUNIT_TEST(testInsertByNameEmptyName);
CPPUNIT_TEST(testRemoveByName);
CPPUNIT_TEST(testRemoveByNameNoneExistingElement);
CPPUNIT_TEST_SUITE_END();
private:
@@ -67,6 +76,7 @@
, XElementAccess(cppu::UnoType<style::XStyle>::get())
, XIndexAccess(19)
, XNameAccess("Default")
, XNameContainer("Default")
{
}
@@ -82,6 +92,8 @@
uno::Reference<lang::XMultiServiceFactory> xMSF(m_xComponent, uno::UNO_QUERY_THROW);
uno::Reference<uno::XInterface> xCS(xMSF->createInstance("com.sun.star.style.CellStyle"),
uno::UNO_QUERY_THROW);
// XNameContainer
setElement(uno::makeAny(xMSF->createInstance("com.sun.star.style.CellStyle")));
uno::Reference<container::XNameContainer> xNC(xNA_SF, uno::UNO_QUERY_THROW);
xNC->insertByName("ScStyleFamilyObj", uno::makeAny(xCS));
diff --git a/test/source/container/xnamecontainer.cxx b/test/source/container/xnamecontainer.cxx
index c871deb..e5e8d8d 100644
--- a/test/source/container/xnamecontainer.cxx
+++ b/test/source/container/xnamecontainer.cxx
@@ -56,13 +56,24 @@
{
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(!xNameContainer->hasByName(m_aName + "Duplicate"));
xNameContainer->insertByName(m_aName + "Duplicate", m_aElement);
CPPUNIT_ASSERT(xNameContainer->hasByName(m_aName + "Duplicate"));
CPPUNIT_ASSERT_THROW(xNameContainer->insertByName(m_aName, aAny),
container::ElementExistException);
bool bExceptionThrown = false;
try
{
xNameContainer->insertByName(m_aName + "Duplicate", m_aElement);
}
catch (const container::ElementExistException&)
{
bExceptionThrown = true;
}
catch (const lang::IllegalArgumentException&)
{
bExceptionThrown = true;
}
CPPUNIT_ASSERT(bExceptionThrown);
}
void XNameContainer::testRemoveByName()