From e06ef6f42e47780b26f6f3424bb2053e0490d8e3 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Thu, 31 Aug 2017 18:32:58 +0200 Subject: tdf#111884: Implement export of group shapes in pptx. Change-Id: If12984c0670db6396cbfd0dcb8ae1f5a9b591705 Reviewed-on: https://gerrit.libreoffice.org/41766 Tested-by: Jenkins Reviewed-by: Jan Holesovsky --- sd/qa/unit/export-tests-ooxml1.cxx | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'sd') diff --git a/sd/qa/unit/export-tests-ooxml1.cxx b/sd/qa/unit/export-tests-ooxml1.cxx index a847352d2bb6..ef3186660f92 100644 --- a/sd/qa/unit/export-tests-ooxml1.cxx +++ b/sd/qa/unit/export-tests-ooxml1.cxx @@ -216,20 +216,26 @@ void SdOOXMLExportTest1::testBnc870233_2() // First smart art has blue font color (direct formatting) { - const SdrTextObj *pObj = dynamic_cast( pPage->GetObj( 0 ) ); - checkFontAttributes( pObj, Color(0x0000ff) ); + const SdrObjGroup *pObjGroup = dynamic_cast(pPage->GetObj(0)); + CPPUNIT_ASSERT(pObjGroup); + const SdrTextObj *pObj = dynamic_cast(pObjGroup->GetSubList()->GetObj(0)); + checkFontAttributes(pObj, Color(0x0000ff)); } // Second smart art has "dk2" font color (style) { - const SdrTextObj *pObj = dynamic_cast( pPage->GetObj( 1 ) ); + const SdrObjGroup *pObjGroup = dynamic_cast(pPage->GetObj(2)); // FIXME should be 1, smartart import creates an additional empty group for some reason + CPPUNIT_ASSERT(pObjGroup); + const SdrTextObj *pObj = dynamic_cast(pObjGroup->GetSubList()->GetObj(0)); checkFontAttributes( pObj, Color(0x1F497D) ); } // Third smart art has white font color (style) { - const SdrTextObj *pObj = dynamic_cast( pPage->GetObj( 2 ) ); - checkFontAttributes( pObj, Color(0xffffff) ); + const SdrObjGroup *pObjGroup = dynamic_cast(pPage->GetObj(4)); // FIXME should be 2, smartart import creates an additional empty group for some reason + CPPUNIT_ASSERT(pObjGroup); + const SdrTextObj *pObj = dynamic_cast(pObjGroup->GetSubList()->GetObj(0)); + checkFontAttributes(pObj, Color(0xffffff)); } xDocShRef->DoClose(); @@ -361,12 +367,14 @@ void SdOOXMLExportTest1::testBnc880763() // Check z-order of the two shapes, use background color to identify them // First object in the background has blue background color - const SdrObject *pObj = dynamic_cast( pPage->GetObj( 0 ) ); + const SdrObjGroup *pObjGroup = dynamic_cast(pPage->GetObj(0)); + CPPUNIT_ASSERT(pObjGroup); + const SdrObject *pObj = dynamic_cast(pObjGroup->GetSubList()->GetObj(0)); CPPUNIT_ASSERT_MESSAGE( "no object", pObj != nullptr); CPPUNIT_ASSERT_EQUAL( sal_uInt32(0x0000ff),(static_cast< const XColorItem& >(pObj->GetMergedItem(XATTR_FILLCOLOR))).GetColorValue().GetColor()); // Second object at the front has green background color - pObj = dynamic_cast( pPage->GetObj( 1 ) ); + pObj = dynamic_cast(pPage->GetObj(2)); // FIXME should be 1, smartart import creates an additional empty group for some reason CPPUNIT_ASSERT_MESSAGE( "no object", pObj != nullptr); CPPUNIT_ASSERT_EQUAL( sal_uInt32(0x00ff00),(static_cast< const XColorItem& >(pObj->GetMergedItem(XATTR_FILLCOLOR))).GetColorValue().GetColor()); @@ -381,7 +389,9 @@ void SdOOXMLExportTest1::testBnc862510_5() const SdrPage *pPage = GetPage( 1, xDocShRef ); // Same as testBnc870237, but here we check the horizontal spacing - const SdrObject* pObj = dynamic_cast( pPage->GetObj( 1 ) ); + const SdrObjGroup *pObjGroup = dynamic_cast(pPage->GetObj(0)); + CPPUNIT_ASSERT(pObjGroup); + const SdrObject* pObj = dynamic_cast(pObjGroup->GetSubList()->GetObj(1)); CPPUNIT_ASSERT_MESSAGE( "no object", pObj != nullptr); CPPUNIT_ASSERT_EQUAL( sal_Int32(0), (static_cast< const SdrMetricItem& >(pObj->GetMergedItem(SDRATTR_TEXT_UPPERDIST))).GetValue()); CPPUNIT_ASSERT_EQUAL( sal_Int32(0), (static_cast< const SdrMetricItem& >(pObj->GetMergedItem(SDRATTR_TEXT_LOWERDIST))).GetValue()); -- cgit