[Libreoffice-commits] core.git: sd/qa
Tomaž Vajngerl
tomaz.vajngerl at collabora.co.uk
Sun Jan 14 13:46:34 UTC 2018
sd/qa/unit/export-tests.cxx | 79 +++++++++++++++++++++++++++++++++-----------
1 file changed, 61 insertions(+), 18 deletions(-)
New commits:
commit 3fe8a90c164ad4b8e5f0e1998c1cf59186658362
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Sun Jan 14 14:45:58 2018 +0900
change testN821567 to work on more import/export filters
- rename the test to something sensible
- comment the test use case
- change the test to cover more import/export filters
Change-Id: Ib9be1148d239d99e70e62efaafb69daf25c72164
Reviewed-on: https://gerrit.libreoffice.org/47852
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 44099cbac91b..8bc274400520 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -76,7 +76,7 @@ using namespace css::animations;
class SdExportTest : public SdModelTestBaseXML
{
public:
- void testN821567();
+ void testBackgroundImage();
void testMediaEmbedding();
void testFdo84043();
void testTdf97630();
@@ -96,7 +96,7 @@ public:
CPPUNIT_TEST_SUITE(SdExportTest);
- CPPUNIT_TEST(testN821567);
+ CPPUNIT_TEST(testBackgroundImage);
CPPUNIT_TEST(testMediaEmbedding);
CPPUNIT_TEST(testFdo84043);
CPPUNIT_TEST(testTdf97630);
@@ -144,27 +144,70 @@ public:
};
-void SdExportTest::testN821567()
+void SdExportTest::testBackgroundImage()
{
- OUString bgImage;
- ::sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/n821567.pptx"), PPTX );
+ // Initial bug: N821567
- xDocShRef = saveAndReload( xDocShRef.get(), ODP );
- uno::Reference< drawing::XDrawPagesSupplier > xDoc(
- xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW );
- CPPUNIT_ASSERT_EQUAL_MESSAGE( "not exactly one page", static_cast<sal_Int32>(1), xDoc->getDrawPages()->getCount() );
- uno::Reference< drawing::XDrawPage > xPage( getPage( 0, xDocShRef ) );
+ // Check if Slide background image is imported from PPTX and exported to PPTX, PPT and ODP correctly
- uno::Reference< beans::XPropertySet > xPropSet( xPage, uno::UNO_QUERY );
- uno::Any aAny = xPropSet->getPropertyValue( "Background" );
- if(aAny.hasValue())
+ OUString bgImageName;
+ sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/n821567.pptx"), PPTX);
+
+ // Check that imported background image from PPTX exists
+ {
+ uno::Reference<drawing::XDrawPagesSupplier> xDoc(xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("not exactly one page", static_cast<sal_Int32>(1), xDoc->getDrawPages()->getCount());
+ uno::Reference<drawing::XDrawPage> xPage(getPage(0, xDocShRef));
+
+ uno::Reference<beans::XPropertySet> xPropertySet(xPage, uno::UNO_QUERY);
+ uno::Any aAny = xPropertySet->getPropertyValue("Background");
+ if (aAny.has<uno::Reference<beans::XPropertySet>>())
+ {
+ uno::Reference<beans::XPropertySet> xBackgroundPropSet;
+ aAny >>= xBackgroundPropSet;
+ aAny = xBackgroundPropSet->getPropertyValue("FillBitmapName");
+ aAny >>= bgImageName;
+ }
+ CPPUNIT_ASSERT_MESSAGE("Slide Background is not imported from PPTX correctly", !bgImageName.isEmpty());
+ }
+
+ // Save as PPTX, reload and check again so we make sure exporting to PPTX is working correctly
+ {
+ xDocShRef = saveAndReload(xDocShRef.get(), PPTX);
+ uno::Reference<drawing::XDrawPagesSupplier> xDoc(xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("not exactly one page", static_cast<sal_Int32>(1), xDoc->getDrawPages()->getCount());
+ uno::Reference<drawing::XDrawPage> xPage(getPage(0, xDocShRef));
+
+ uno::Reference<beans::XPropertySet> xPropertySet(xPage, uno::UNO_QUERY);
+ uno::Any aAny = xPropertySet->getPropertyValue("Background");
+ if (aAny.hasValue())
+ {
+ uno::Reference<beans::XPropertySet> xBackgroundPropSet;
+ aAny >>= xBackgroundPropSet;
+ aAny = xBackgroundPropSet->getPropertyValue("FillBitmapName");
+ aAny >>= bgImageName;
+ }
+ CPPUNIT_ASSERT_MESSAGE("Slide Background is not exported to PPTX correctly", !bgImageName.isEmpty());
+ }
+
+ // Save as ODP, reload and check again so we make sure exporting and importing to ODP is working correctly
{
- uno::Reference< beans::XPropertySet > aXBackgroundPropSet;
- aAny >>= aXBackgroundPropSet;
- aAny = aXBackgroundPropSet->getPropertyValue( "FillBitmapName" );
- aAny >>= bgImage;
+ xDocShRef = saveAndReload(xDocShRef.get(), ODP);
+ uno::Reference<drawing::XDrawPagesSupplier> xDoc(xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("not exactly one page", static_cast<sal_Int32>(1), xDoc->getDrawPages()->getCount());
+ uno::Reference<drawing::XDrawPage> xPage(getPage(0, xDocShRef));
+
+ uno::Reference<beans::XPropertySet> xPropertySet(xPage, uno::UNO_QUERY);
+ uno::Any aAny = xPropertySet->getPropertyValue("Background");
+ if (aAny.hasValue())
+ {
+ uno::Reference<beans::XPropertySet> xBackgroundPropSet;
+ aAny >>= xBackgroundPropSet;
+ aAny = xBackgroundPropSet->getPropertyValue("FillBitmapName");
+ aAny >>= bgImageName;
+ }
+ CPPUNIT_ASSERT_MESSAGE("Slide Background is not exported or imported to ODP correctly", !bgImageName.isEmpty());
}
- CPPUNIT_ASSERT_MESSAGE("Slide Background is not exported properly", !bgImage.isEmpty());
xDocShRef->DoClose();
}
More information about the Libreoffice-commits
mailing list