include/test/drawing/xshapegrouper.hxx | 44 +++++++ qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv | 2 sc/qa/extras/scdrawpageobj.cxx | 10 + test/Library_subsequenttest.mk | 1 test/source/drawing/xshapegrouper.cxx | 58 ++++++++++ 5 files changed, 112 insertions(+), 3 deletions(-)
New commits: commit ee503c36199d225f4c906fe43c927f911c2097c7 Author: Jens Carl <j.car...@gmx.de> AuthorDate: Thu Mar 28 00:22:44 2019 +0000 Commit: Jens Carl <j.car...@gmx.de> CommitDate: Thu Mar 28 06:28:16 2019 +0100 tdf#45904 Move XShapeGrouper Java tests to C++ Move XShapeGrouper Java tests to C++ for ScDrawPageObj. Change-Id: I4a1ed4f14f759fa4214141f0d552e35ccae28035 Reviewed-on: https://gerrit.libreoffice.org/69873 Tested-by: Jenkins Reviewed-by: Jens Carl <j.car...@gmx.de> diff --git a/include/test/drawing/xshapegrouper.hxx b/include/test/drawing/xshapegrouper.hxx new file mode 100644 index 000000000000..1770d3f76d6c --- /dev/null +++ b/include/test/drawing/xshapegrouper.hxx @@ -0,0 +1,44 @@ +/* -*- 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/. + */ + +#ifndef INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX +#define INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX + +#include <com/sun/star/uno/XInterface.hpp> + +#include <com/sun/star/uno/Reference.hxx> + +#include <test/testdllapi.hxx> + +namespace apitest +{ +class OOO_DLLPUBLIC_TEST XShapeGrouper +{ +public: + void setDrawPage(const css::uno::Reference<css::uno::XInterface>& r_xDrawPage) + { + m_xDrawPage = r_xDrawPage; + } + + virtual css::uno::Reference<css::uno::XInterface> init() = 0; + + void testGroup(); + void testUngroup(); + +protected: + ~XShapeGrouper() {} + +private: + css::uno::Reference<css::uno::XInterface> m_xDrawPage; +}; +} // namespace apitest + +#endif // INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv index c742ce529e4f..b39d7b6062be 100644 --- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv +++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv @@ -1,4 +1,2 @@ "ScDrawPageObj";"com::sun::star::drawing::XShapes";"add()" "ScDrawPageObj";"com::sun::star::drawing::XShapes";"remove()" -"ScDrawPageObj";"com::sun::star::drawing::XShapeGrouper";"group()" -"ScDrawPageObj";"com::sun::star::drawing::XShapeGrouper";"ungroup()" diff --git a/sc/qa/extras/scdrawpageobj.cxx b/sc/qa/extras/scdrawpageobj.cxx index de8d8baa4e9c..7d50a783d9d5 100644 --- a/sc/qa/extras/scdrawpageobj.cxx +++ b/sc/qa/extras/scdrawpageobj.cxx @@ -11,6 +11,7 @@ #include <test/helper/shape.hxx> #include <test/container/xelementaccess.hxx> #include <test/container/xindexaccess.hxx> +#include <test/drawing/xshapegrouper.hxx> #include <test/lang/xserviceinfo.hxx> #include <cppu/unotype.hxx> @@ -32,7 +33,8 @@ namespace sc_apitest class ScDrawPageObj : public CalcUnoApiTest, public apitest::XElementAccess, public apitest::XIndexAccess, - public apitest::XServiceInfo + public apitest::XServiceInfo, + public apitest::XShapeGrouper { public: ScDrawPageObj(); @@ -56,6 +58,10 @@ public: CPPUNIT_TEST(testGetSupportedServiceNames); CPPUNIT_TEST(testSupportsService); + // XShapeGrouper + CPPUNIT_TEST(testGroup); + CPPUNIT_TEST(testUngroup); + CPPUNIT_TEST_SUITE_END(); private: @@ -90,6 +96,8 @@ uno::Reference<uno::XInterface> ScDrawPageObj::init() uno::UNO_QUERY_THROW); xShapes->add(xRectangle1); + // needed for XShapeGrouper tests + setDrawPage(xDrawPage); return xDrawPage; } diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk index 7fca94314977..c267a1570d1f 100644 --- a/test/Library_subsequenttest.mk +++ b/test/Library_subsequenttest.mk @@ -56,6 +56,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\ test/source/document/xlinktargetsupplier \ test/source/drawing/captionshape \ test/source/drawing/xdrawpages \ + test/source/drawing/xshapegrouper \ test/source/lang/xserviceinfo \ test/source/lang/xcomponent \ test/source/sheet/cellarealink \ diff --git a/test/source/drawing/xshapegrouper.cxx b/test/source/drawing/xshapegrouper.cxx new file mode 100644 index 000000000000..6595050ad418 --- /dev/null +++ b/test/source/drawing/xshapegrouper.cxx @@ -0,0 +1,58 @@ +/* -*- 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/drawing/xshapegrouper.hxx> +#include <sal/types.h> + +#include <com/sun/star/drawing/XShape.hpp> +#include <com/sun/star/drawing/XShapeGroup.hpp> +#include <com/sun/star/drawing/XShapeGrouper.hpp> +#include <com/sun/star/drawing/XShapes.hpp> +#include <com/sun/star/uno/XInterface.hpp> + +#include <com/sun/star/uno/Reference.hxx> + +#include <cppunit/extensions/HelperMacros.h> + +using namespace css; + +namespace apitest +{ +void XShapeGrouper::testGroup() +{ + uno::Reference<drawing::XShapeGrouper> xSG(init(), uno::UNO_QUERY_THROW); + + uno::Reference<drawing::XShapes> xShapes(m_xDrawPage, uno::UNO_QUERY_THROW); + const sal_Int32 nCountBeforeGroup = xShapes->getCount(); + + uno::Reference<drawing::XShape> xShape(xSG->group(xShapes), uno::UNO_QUERY_THROW); + const sal_Int32 nCountAfterGroup = xShapes->getCount(); + + CPPUNIT_ASSERT(xShape.is()); + CPPUNIT_ASSERT(nCountAfterGroup < nCountBeforeGroup); +} + +void XShapeGrouper::testUngroup() +{ + uno::Reference<drawing::XShapeGrouper> xSG(init(), uno::UNO_QUERY_THROW); + + uno::Reference<drawing::XShapes> xShapes(m_xDrawPage, uno::UNO_QUERY_THROW); + uno::Reference<drawing::XShape> xShape(xSG->group(xShapes), uno::UNO_QUERY_THROW); + uno::Reference<drawing::XShapeGroup> xShapeGroup(xShape, uno::UNO_QUERY_THROW); + + const sal_Int32 nCountAfterGroup = xShapes->getCount(); + + xSG->ungroup(xShapeGroup); + const sal_Int32 nCountAfterUngroup = xShapes->getCount(); + + CPPUNIT_ASSERT(nCountAfterUngroup != nCountAfterGroup); +} +} // namespace apitest + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits