diff options
Diffstat (limited to 'sd')
-rwxr-xr-x | sd/qa/unit/data/pptx/tdf109223.pptx | bin | 0 -> 34023 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 34 |
2 files changed, 34 insertions, 0 deletions
diff --git a/sd/qa/unit/data/pptx/tdf109223.pptx b/sd/qa/unit/data/pptx/tdf109223.pptx Binary files differnew file mode 100755 index 000000000000..0f68796e8e14 --- /dev/null +++ b/sd/qa/unit/data/pptx/tdf109223.pptx diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index f8e67dabf214..896f8b74ac84 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -161,6 +161,7 @@ public: void testTdf100926(); void testTdf89064(); void testTdf108925(); + void testTdf109223(); bool checkPattern(sd::DrawDocShellRef& rDocRef, int nShapeNumber, std::vector<sal_uInt8>& rExpected); void testPatternImport(); @@ -230,6 +231,7 @@ public: CPPUNIT_TEST(testPatternImport); CPPUNIT_TEST(testTdf89064); CPPUNIT_TEST(testTdf108925); + CPPUNIT_TEST(testTdf109223); CPPUNIT_TEST_SUITE_END(); }; @@ -2216,6 +2218,38 @@ void SdImportTest::testTdf108925() xDocShRef->DoClose(); } +void SdImportTest::testTdf109223() +{ + // In the test document flipV attribute is defined for a group shape + // This transformation is not applied on child shapes + // To make the text direction right at least I added an additional text rotation when parent shape is flipped. + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/tdf109223.pptx"), PPTX); + uno::Reference< container::XIndexAccess > xGroupShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_QUERY_THROW); + uno::Reference< beans::XPropertySet > xShape(xGroupShape->getByIndex(1), uno::UNO_QUERY); + + // Check the shape text to make sure we test the right shape + OUString sText = uno::Reference<text::XTextRange>(xShape, uno::UNO_QUERY)->getString(); + CPPUNIT_ASSERT_EQUAL(OUString("Tested child shape"), sText); + + // Check the attribute inherited from parent shape + bool bAttributeFound = false; + uno::Sequence<beans::PropertyValue> aProps; + CPPUNIT_ASSERT(xShape->getPropertyValue("CustomShapeGeometry") >>= aProps); + for (sal_Int32 i = 0; i < aProps.getLength(); ++i) + { + const beans::PropertyValue& rProp = aProps[i]; + if (rProp.Name == "TextPreRotateAngle") + { + CPPUNIT_ASSERT_EQUAL(sal_Int32(180), rProp.Value.get<sal_Int32>()); + bAttributeFound = true; + break; + } + } + + CPPUNIT_ASSERT_EQUAL(true, bAttributeFound); + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); |