diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2017-06-24 10:21:18 +0200 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2017-06-25 11:32:59 +0200 |
commit | 7562c5f37ca03267da5873143601811bebf6d620 (patch) | |
tree | 2bb6648daf87bf756a1937e226c249e38bf405ef /sd | |
parent | 0922085dc8acf5500e4c01b00f83d524c8adc300 (diff) |
tdf#107584: Load/save page background transparency
Change-Id: I17bd01dc129f0e530d5e227a5ddc12f11486e85d
Reviewed-on: https://gerrit.libreoffice.org/39206
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/qa/unit/data/odp/page_transparent_background.odp | bin | 0 -> 11508 bytes | |||
-rw-r--r-- | sd/qa/unit/export-tests.cxx | 27 |
2 files changed, 27 insertions, 0 deletions
diff --git a/sd/qa/unit/data/odp/page_transparent_background.odp b/sd/qa/unit/data/odp/page_transparent_background.odp Binary files differnew file mode 100644 index 000000000000..02b11976a15d --- /dev/null +++ b/sd/qa/unit/data/odp/page_transparent_background.odp diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx index 6ab7da20547d..3d8341c0d76d 100644 --- a/sd/qa/unit/export-tests.cxx +++ b/sd/qa/unit/export-tests.cxx @@ -89,6 +89,7 @@ public: void testEmbeddedPdf(); void testAuthorField(); void testTdf100926(); + void testPageWithTransparentBackground(); CPPUNIT_TEST_SUITE(SdExportTest); @@ -105,6 +106,7 @@ public: CPPUNIT_TEST(testEmbeddedPdf); CPPUNIT_TEST(testAuthorField); CPPUNIT_TEST(testTdf100926); + CPPUNIT_TEST(testPageWithTransparentBackground); CPPUNIT_TEST_SUITE_END(); @@ -597,6 +599,31 @@ void SdExportTest::testTdf100926() xDocShRef->DoClose(); } +void SdExportTest::testPageWithTransparentBackground() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc("/sd/qa/unit/data/odp/page_transparent_background.odp"), ODP ); + + xDocShRef = saveAndReload( xDocShRef.get(), ODP ); + uno::Reference< drawing::XDrawPagesSupplier > xDoc( + xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW ); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "There should be exactly one page", static_cast<sal_Int32>(1), xDoc->getDrawPages()->getCount() ); + + uno::Reference< drawing::XDrawPage > xPage( getPage( 0, xDocShRef ) ); + + uno::Reference< beans::XPropertySet > xPropSet( xPage, uno::UNO_QUERY ); + uno::Any aAny = xPropSet->getPropertyValue( "Background" ); + CPPUNIT_ASSERT_MESSAGE("Slide background is missing", aAny.hasValue()); + + uno::Reference< beans::XPropertySet > aXBackgroundPropSet; + aAny >>= aXBackgroundPropSet; + sal_Int32 nTransparence; + aAny = aXBackgroundPropSet->getPropertyValue( "FillTransparence" ); + aAny >>= nTransparence; + CPPUNIT_ASSERT_EQUAL_MESSAGE("Slide background transparency is wrong", sal_Int32(42), nTransparence); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); |