diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-08-29 09:25:53 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-08-29 09:26:14 +0200 |
commit | dcc140204a65d3e7075b0e67ac3ffa0a5737d4ea (patch) | |
tree | adc03b3e5b56feb2e8e7fa5d0c9e30dafd55b074 | |
parent | 7fe05dc95d0c9a584e07483c04b13c071d55293f (diff) |
n#777345 testcase
Change-Id: I4dce0dfaf6f1c94024dd60df51d70a259689d6d9
-rw-r--r-- | sw/CppunitTest_sw_subsequent_ooxmlimport.mk | 1 | ||||
-rw-r--r-- | sw/qa/extras/ooxmlimport/data/n777345.docx | bin | 0 -> 11277 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 20 |
3 files changed, 21 insertions, 0 deletions
diff --git a/sw/CppunitTest_sw_subsequent_ooxmlimport.mk b/sw/CppunitTest_sw_subsequent_ooxmlimport.mk index 6dbf787811bb..c06de2a849da 100644 --- a/sw/CppunitTest_sw_subsequent_ooxmlimport.mk +++ b/sw/CppunitTest_sw_subsequent_ooxmlimport.mk @@ -66,6 +66,7 @@ $(eval $(call gb_CppunitTest_use_ure,sw_subsequent_ooxmlimport)) $(eval $(call gb_CppunitTest_use_components,sw_subsequent_ooxmlimport,\ comphelper/util/comphelp \ configmgr/source/configmgr \ + embeddedobj/util/embobj \ fileaccess/source/fileacc \ filter/source/config/cache/filterconfig1 \ framework/util/fwk \ diff --git a/sw/qa/extras/ooxmlimport/data/n777345.docx b/sw/qa/extras/ooxmlimport/data/n777345.docx Binary files differnew file mode 100644 index 000000000000..dc625881cc16 --- /dev/null +++ b/sw/qa/extras/ooxmlimport/data/n777345.docx diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index e61f1235517e..f5c3661256a9 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -30,6 +30,7 @@ #include <com/sun/star/awt/XBitmap.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/document/XEmbeddedObjectSupplier2.hpp> #include <com/sun/star/drawing/XDrawPageSupplier.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/style/XStyleFamiliesSupplier.hpp> @@ -86,9 +87,11 @@ public: void testAllGapsWord(); void testN775906(); void testN775899(); + void testN777345(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) +#if 0 CPPUNIT_TEST(testN751054); CPPUNIT_TEST(testN751117); CPPUNIT_TEST(testN751017); @@ -116,6 +119,8 @@ public: CPPUNIT_TEST(testN775906); CPPUNIT_TEST(testN775899); #endif + CPPUNIT_TEST(testN777345); +#endif CPPUNIT_TEST_SUITE_END(); private: @@ -765,6 +770,21 @@ void Test::testN775899() CPPUNIT_ASSERT_EQUAL(sal_False, xParaEnum->hasMoreElements()); } +void Test::testN777345() +{ + // The problem was that v:imagedata inside v:rect was ignored. + load("n777345.docx"); + + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xDraws(xDrawPageSupplier->getDrawPage(), uno::UNO_QUERY); + uno::Reference<document::XEmbeddedObjectSupplier2> xSupplier(xDraws->getByIndex(0), uno::UNO_QUERY); + uno::Reference<graphic::XGraphic> xGraphic = xSupplier->getReplacementGraphic(); + Graphic aGraphic(xGraphic); + // If this changes later, feel free to update it, but make sure it's not + // the checksum of a white/transparent placeholder rectangle. + CPPUNIT_ASSERT_EQUAL(sal_uLong(2404338915), aGraphic.GetChecksum()); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); |