summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2018-01-14 14:45:58 +0900
committerTomaž Vajngerl <quikee@gmail.com>2018-01-14 14:45:58 +0100
commit3fe8a90c164ad4b8e5f0e1998c1cf59186658362 (patch)
tree69a93f1a7863481fe7f2d91d350cb0b9ac5f466b /sd
parent640a7c791b4665c16be7ad8f5f7dda30dcc88eda (diff)
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@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/export-tests.cxx79
1 files changed, 61 insertions, 18 deletions
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();
}