summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-08-29 09:25:53 +0100
committerMiklos Vajna <vmiklos@suse.cz>2012-08-29 09:26:14 +0200
commitdcc140204a65d3e7075b0e67ac3ffa0a5737d4ea (patch)
treeadc03b3e5b56feb2e8e7fa5d0c9e30dafd55b074 /sw
parent7fe05dc95d0c9a584e07483c04b13c071d55293f (diff)
n#777345 testcase
Change-Id: I4dce0dfaf6f1c94024dd60df51d70a259689d6d9
Diffstat (limited to 'sw')
-rw-r--r--sw/CppunitTest_sw_subsequent_ooxmlimport.mk1
-rw-r--r--sw/qa/extras/ooxmlimport/data/n777345.docxbin0 -> 11277 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport.cxx20
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
new file mode 100644
index 000000000000..dc625881cc16
--- /dev/null
+++ b/sw/qa/extras/ooxmlimport/data/n777345.docx
Binary files differ
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();