summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rwxr-xr-xsd/qa/unit/data/pptx/tdf109223.pptxbin0 -> 34023 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx34
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
new file mode 100755
index 000000000000..0f68796e8e14
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf109223.pptx
Binary files differ
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();