tdf#59323: pptx export: slide footers roundtrip unit test
Roundtrip test that checks the slide footers, and their placeholder indexes.
Change-Id: I9c4b819092ac6699617d71538c35b066d6e6f974
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117013
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
diff --git a/sd/qa/unit/data/pptx/tdf59323.pptx b/sd/qa/unit/data/pptx/tdf59323.pptx
new file mode 100755
index 0000000..0660c0a
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf59323.pptx
Binary files differ
diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx
index b2d3022..e2cdef3 100644
--- a/sd/qa/unit/export-tests-ooxml2.cxx
+++ b/sd/qa/unit/export-tests-ooxml2.cxx
@@ -149,6 +149,7 @@ public:
void testTdf118825();
void testTextColumns_tdf140852();
void testTextColumns_3columns();
void testTdf59323_slideFooters();
CPPUNIT_TEST_SUITE(SdOOXMLExportTest2);
@@ -213,6 +214,7 @@ public:
CPPUNIT_TEST(testTdf118825);
CPPUNIT_TEST(testTextColumns_tdf140852);
CPPUNIT_TEST(testTextColumns_3columns);
CPPUNIT_TEST(testTdf59323_slideFooters);
CPPUNIT_TEST_SUITE_END();
@@ -1742,6 +1744,41 @@ void SdOOXMLExportTest2::testTextColumns_3columns()
tempFile.EnableKillingFile();
}
void SdOOXMLExportTest2::testTdf59323_slideFooters()
{
::sd::DrawDocShellRef xDocShRef
= loadURL(m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf59323.pptx"), PPTX);
utl::TempFile tempFile;
xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile);
uno::Reference<drawing::XDrawPagesSupplier> xDoc(xDocShRef->GetDoc()->getUnoModel(),
uno::UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xDoc->getDrawPages()->getCount());
for (int nPageIndex = 0; nPageIndex < 3; nPageIndex++)
{
uno::Reference<drawing::XDrawPage> xPage(getPage(0, xDocShRef));
uno::Reference<beans::XPropertySet> xPropSet(xPage, uno::UNO_QUERY);
CPPUNIT_ASSERT_EQUAL(true, xPropSet->getPropertyValue("IsFooterVisible").get<bool>());
CPPUNIT_ASSERT_EQUAL(true, xPropSet->getPropertyValue("IsDateTimeVisible").get<bool>());
CPPUNIT_ASSERT_EQUAL(true, xPropSet->getPropertyValue("IsPageNumberVisible").get<bool>());
}
// Test placeholder indexes
xmlDocUniquePtr pXmlDocMaster = parseExport(tempFile, "ppt/slideMasters/slideMaster1.xml");
assertXPath(pXmlDocMaster, "//p:ph [@type='dt']", "idx", "1");
assertXPath(pXmlDocMaster, "//p:ph [@type='ftr']", "idx", "2");
assertXPath(pXmlDocMaster, "//p:ph [@type='sldNum']", "idx", "3");
xmlDocUniquePtr pXmlDocSlide1 = parseExport(tempFile, "ppt/slides/slide1.xml");
assertXPath(pXmlDocSlide1, "//p:ph [@type='dt']", "idx", "1");
assertXPath(pXmlDocSlide1, "//p:ph [@type='ftr']", "idx", "2");
assertXPath(pXmlDocSlide1, "//p:ph [@type='sldNum']", "idx", "3");
xDocShRef->DoClose();
}
CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest2);
CPPUNIT_PLUGIN_IMPLEMENT();