diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2020-02-17 14:35:54 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-02-17 19:06:19 +0100 |
commit | 70ae12fe0b9e33633fc62cf805c261ef51fb4b59 (patch) | |
tree | 17335be3e99ddadca44db66f0048dbed679999fa /writerfilter/qa | |
parent | 5339d0800ccdcd325294e61f8ae9e67648beb035 (diff) |
DOCX import: don't touch the ZOrder of inline, in-shape objects
1) This is not needed: Word only supports inline "anchoring" in
textboxes.
2) If the textbox has a certain ZOrder, we don't want the inline shapes
to be behind the textbox.
3) This allows restoring the old assert in sw_ooxmlexport7 that was
changed in commit 99847d6b3005c5444ed5a46ca578c0e40149d77c (DOCX import:
fix ZOrder of inline vs anchored shapes, 2020-02-12).
Change-Id: I817e4fb70cb789e8eb116219050fc1aeaec76667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88873
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'writerfilter/qa')
-rw-r--r-- | writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx | 17 | ||||
-rw-r--r-- | writerfilter/qa/cppunittests/dmapper/data/inline-inshape-anchored-zorder.docx | bin | 0 -> 17243 bytes |
2 files changed, 17 insertions, 0 deletions
diff --git a/writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx b/writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx index f825ea1d7510..c148ee518833 100644 --- a/writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx +++ b/writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx @@ -102,6 +102,23 @@ CPPUNIT_TEST_FIXTURE(Test, testInlineAnchoredZOrder) // i.e. the rectangle (with no name) was on top of the oval one, not the other way around. CPPUNIT_ASSERT_EQUAL(OUString("Oval 2"), xOval->getName()); } + +CPPUNIT_TEST_FIXTURE(Test, testInlineInShapeAnchoredZOrder) +{ + // This document has a textbox shape and then an inline shape inside that. + // The ZOrder of the inline shape is larger than the hosting textbox, so the image is visible. + OUString aURL + = m_directories.getURLFromSrc(DATA_DIRECTORY) + "inline-inshape-anchored-zorder.docx"; + getComponent() = loadFromDesktop(aURL); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(getComponent(), uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<container::XNamed> xOval(xDrawPage->getByIndex(1), uno::UNO_QUERY); + // Without the accompanying fix in place, this test would have failed with: + // - Expected: Picture 1 + // - Actual : Text Box 2 + // i.e. the image was behind the textbox that was hosting it. + CPPUNIT_ASSERT_EQUAL(OUString("Picture 1"), xOval->getName()); +} } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/qa/cppunittests/dmapper/data/inline-inshape-anchored-zorder.docx b/writerfilter/qa/cppunittests/dmapper/data/inline-inshape-anchored-zorder.docx Binary files differnew file mode 100644 index 000000000000..3792285f4849 --- /dev/null +++ b/writerfilter/qa/cppunittests/dmapper/data/inline-inshape-anchored-zorder.docx |