summaryrefslogtreecommitdiff
path: root/writerfilter/qa
AgeCommit message (Collapse)AuthorFilesLines
2020-05-19DOCX export: fix interaction between the crop and the wrap polygon of imageMiklos Vajna1-2/+3
If the wrap polygon is influenced by crop at import time, we need to do the opposite at export time. Do this for RTF and DOCX, where there is matching import code in writerfilter/, leave DOC alone for now. Test this by changing testFdo76803 into an export test, then seeing how the first point's Y position fails and fixing up the exporter, so we get back the old good value. Conflicts: sw/source/filter/ww8/docxsdrexport.cxx (cherry picked from commit c68b458514b35cae70c9a6630e06f46a867aa3b9) Change-Id: Ieef18aad3c76f7945c7348201b07bcb27a4cd48d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94319 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-05-19DOCX import: fix interaction between the crop and the wrap polygon of imagesMiklos Vajna2-0/+29
Word first applies the crop, then applies the wrap polygon on the remaining visible part of the image. Writer applies the crop on the original bitmap, and even has explicit code to make sure the uncropped bitmap is used for the wrap polygon, see how SwFlyFrame::GetContour() calls SwNoTextFrame::GetGrfArea(), which will extend the resulting size based on cropping. Fix the problem by moving and scaling the wrap polygon, so it ends up where it would in Word. Also adapt testFdo76803, which had a similar crop+wrap polygon case, but the different there is quite small. (cherry picked from commit 2abe9837deee3823c7928a76b5b2f94f1464f1a3) Conflicts: writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx Change-Id: Iab2adaa81a33eb04e1806b17ed129ac50f5d2aa3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94318 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-24sw: add DOCX import for semi-transparent textMiklos Vajna2-0/+78
This is one of the text effects properties, which is already grab-bagged. That is done in a generic way, so the easiest is to just read the value from the grab-bag, rather than from the dmapper tokens directly. (cherry picked from commit 3a749d7278bbe65cfc063e64460df8af6bc2af47) Conflicts: writerfilter/CppunitTest_writerfilter_dmapper.mk writerfilter/source/dmapper/PropertyIds.cxx writerfilter/source/dmapper/PropertyIds.hxx Change-Id: Id74a3eb0abddf745a9e4e59625bf9345f7df9dfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89220 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-18DOCX import: don't touch the ZOrder of inline, in-shape objectsMiklos Vajna2-0/+17
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). (cherry picked from commit 70ae12fe0b9e33633fc62cf805c261ef51fb4b59) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport7.cxx Change-Id: I817e4fb70cb789e8eb116219050fc1aeaec76667 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88944 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-13DOCX import: fix ZOrder of inline vs anchored shapesMiklos Vajna2-0/+17
Shapes which are anchored but are not in the background should be always on top of as-char anchored shapes in OOXML terms. Writer supports a custom ZOrder even for as-char shapes, so make sure that they are always behind anchored shapes. To avoid unnecessary work, make sure that when there are multiple inline shapes, we don't pointlessly reorder them (the old vs new style of the sorting controls exactly this, what happens when two shapes have the same ZOrder, and all inline shapes have a 0 ZOrder). Adapt a few tests that used ZOrder indexes to access shapes, but the intention was to just refer to a shape: fix the index and migrate to shape names where possible. (cherry picked from commit 99847d6b3005c5444ed5a46ca578c0e40149d77c) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport13.cxx sw/qa/extras/ooxmlexport/ooxmlexport4.cxx sw/qa/extras/ooxmlexport/ooxmlexport7.cxx Change-Id: I670e4dc2acbd2a0c6d47fe964cb5e3f2300e6848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88590 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-11DOCX import: fix margins of inline shape with effects, imported as Draw shapeMiklos Vajna2-0/+75
Effects have an extent, and unhandled effects (like this blurred shadow) need to take space in the margin of the shape to make sure they use the correct amount of space in the layout. This was working in general, but not in case the importer decided to import the shape as Draw shape + the shape was inline. (cherry picked from commit bf25e69f8f657d5e3bcdd0bd54c5fa0d66ec85fe) Conflicts: writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx Change-Id: I9d0531d9393d8c2cd274e6f54bbbfe8024bf270f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88467 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-06DOCX import: don't give up on floating tables in headers completelyMiklos Vajna2-0/+77
This reverts commit 213d6390a2cc59d174173f4359c161625a9c4bdc (tdf#108272 DOCX table-only header: fix SAX parser error, 2020-02-03), except its testcase and replaces it with a better fix that does not import all floating-table-in-header as non-floating tables. See the new testcase, which is 1 pages in Word, it was 3 pages in Writer, and with the better fix it's now 1 pages in Writer as well. (cherry picked from commit 3d6a5de8f4579187e5949b212e4625773bb20e6f) Conflicts: writerfilter/CppunitTest_writerfilter_dmapper.mk Change-Id: Ica3500120f12222d7cf766d55c17d78164865026 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88086 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-01-09tdf#129205 DOCX import: handle the <w:shd w:val="nil" ...> paragraph propertyMiklos Vajna2-0/+75
Reading the spec, "nil" is the opposite of "clear": i.e. if the (background) color is red and the fill (color) is green, then "clear" means green. And you would expect "nil" means red, but it's just nothing in Word. Fix the problem by doing the same: don't set any paragraph property for the "nil" case and keep doing it for the common "clear" case. (cherry picked from commit fbe7612d654be9dfe1ea6f2e67900eb4eec4202a) Change-Id: I30af8a7fb55fb9bab2d12e120069a479fc7ab0a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86098 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit dfd75ec6d4dcfec57607a8cf7c7a509c33bf2caa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86344 Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 62eee51aeaee380139126e21ac550e6e367164ab) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86479 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-01-09DOCX import: fix lost page break when footer ends with a tableMiklos Vajna2-0/+85
Regression from commit 7d3778e0ef9f54f3c8988f1b84d58e7002d6c625 (bnc#816593 DOCX import: ignore page breaks in tables, 2013-09-02), the page break was ignored because the preceding footer ended with a table (no empty paragraph at the end of the footer stream). Fix the problem by saving/loading the table state around header/footers, that way the page break is not ignored. Adjust testTdf102466 to test the page number from Word. (cherry picked from commit a86a2a1c1ceb7203857d4317913c5b1bb9feb4aa) Conflicts: writerfilter/source/dmapper/DomainMapper_Impl.hxx Change-Id: Ia4c22452ee2c37f7f941dfd922db04c851644d0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86451 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-20DOCX table import: fix interaction of 1-cell rows and "inside" vertical bordersMiklos Vajna2-0/+76
The interesting part of the bugdoc was: - table style wants visible borders - table direct formatting clears left and right borders - 1st row of the table has 1 cell (2 cells in fact, but they are merged) Fix the "inside" vertical border handling, so that the first cell gets these vertical borders as a right border only in case there are multiple cells. (cherry picked from commit fd92740a86ab8e71e77d947d1d7dabc51a8d0794) Change-Id: Id847109ecfa95d1745abe62ddf36c4936b730855 Reviewed-on: https://gerrit.libreoffice.org/85578 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-01-04tdf#42949 Fix some more Include What You Use warningsMiklos Vajna1-3/+0
Change-Id: I2040315707674dc99a37aedb96ac61dca274c13a Reviewed-on: https://gerrit.libreoffice.org/47348 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-22RTF filter: drop now redundant astyle.optionsMiklos Vajna1-17/+11
I (tried to) keep the RTF filter style consistent locally with astyle in the past, but now that's redundant when we have an enforcing clang-format mechanism in place. So drop the astyle config and switch to clang-format in the RTF filter case. To minimize backport pain, do this shortly before the libreoffice-6-0 branch-off. Change-Id: I708dbeb0b5ad2afacc90029ee5abba9495f4601f
2017-08-16DomainMapper_Impl: add check for m_xTextFactory.is() where missing.Justin Luth1-0/+28
To test: make CppunitTest_writerfilter_rtftok These crash triggering instances were hidden by the presense of \super in topcontext-2.rtf - so I copied it, and only removed \super. My fix for tdf#109382 triggered a unit test failure for one missing m_xTextFactory. It seemed safe enough to test for all of them that aren't in try/catch blocks, not just for the specific instance I can prove with the test. Change-Id: I1e317e05f9bcbbb14360941ce07af1bdf0edac6a Reviewed-on: https://gerrit.libreoffice.org/41060 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-05-11tdf#105204: ShellCheck nitpicks for watch-generated-code.shYeliz Taneroğlu1-3/+3
Change-Id: Ic1e953b5bcae6124ee6ce7d141ddac11a94b2a8b Reviewed-on: https://gerrit.libreoffice.org/37464 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-09-12fftester: no table managerCaolán McNamara1-0/+0
Change-Id: Icb3c640e04416f9120d37558646a570daeddf0a4 Reviewed-on: https://gerrit.libreoffice.org/28825 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-10fftester: no table managerCaolán McNamara1-0/+0
Change-Id: I033454670d1ee662bc80bc07578690155d97ce28 Reviewed-on: https://gerrit.libreoffice.org/28805 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-10fftester: use of deleted RTFParserStateCaolán McNamara1-0/+0
but we only use the RTFParserState to use its m_pDocumentImpl and the m_pDocumentImpl is never changed for the RTFParserState lifetime, so take the m_pDocumentImpl at ctor time instead and use that directly later Change-Id: I15152e3f6d9008553b4a384a5e5da21373904cc9 Reviewed-on: https://gerrit.libreoffice.org/28802 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-06fftester: missing ValueLastCaolán McNamara1-0/+0
Change-Id: I8e881871b1ae4dea757263d04796779e62e168dc Reviewed-on: https://gerrit.libreoffice.org/28693 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-02fftester: apparent wrong property tested for existenceCaolán McNamara1-0/+0
Change-Id: I5d208bb2a85d7aa4eea9b1c950eeb6f35493f759
2016-08-27fftester: topcontext checkCaolán McNamara1-0/+0
Change-Id: I2045ce82a1d536ab566e6a1218bea9c6a6696024
2016-08-07fftester: guard against empty table manager stackCaolán McNamara1-0/+0
Change-Id: Ibb4cadb58aa17eacfc9741f7f13c780be347cd8b
2016-08-02fftester: guard against no drawing object property setCaolán McNamara1-0/+0
Change-Id: I51736459f9f098d9d793bff3b9a1a403962e099d
2016-07-31fftester: another table manager stack checksCaolán McNamara1-0/+0
and a m_xTextFactory check too Change-Id: I9352410c42048b4dd7d6dbc3514351ab8f16790b
2016-07-30fftester: context stack checkCaolán McNamara1-0/+0
Change-Id: I4a135a9f9ac2f16f9dab096f5c234ff1d6e5e853
2016-07-29fftester: some more table manager stack checksCaolán McNamara1-0/+0
Change-Id: Ic8dd72da175fee656889910b55d31ea161b944cc
2016-07-29fftester: another empty table manager stackCaolán McNamara1-0/+0
Change-Id: If3148cb6e16cff4aad28c4f86467c66ed04bcd05
2016-07-29fftester: another null DestinationTextCaolán McNamara2-0/+0
Change-Id: I84bf3788ac092c491d7c5a9f86421f1cf9f3e814
2016-07-29fftester: null DestinationTextCaolán McNamara1-0/+0
Change-Id: Icdd71733c4e9f4b36e6e957e4dea772087890faa
2016-07-28fftester: throw on empty stack accessCaolán McNamara3-0/+5
rather than spend the rest of my life protecting each one Change-Id: I181df33b052a0303f072ce0252d98562231569e2
2016-07-28fftester: empty states stackCaolán McNamara1-0/+0
Change-Id: I05dfffced9a8677650a46b43f65a29e9b21c5524
2016-07-28fftester: empty table manager stackCaolán McNamara1-0/+0
Change-Id: Ia7f7ace8130d5dfe290207e0cd3d2e6a43b8ab46
2016-03-11writerfilter: avoid ugly cross-directory includeMiklos Vajna1-20/+20
Change-Id: I16db4e16e5c2fa3aa3bfb22f83d2c36695499b5c
2016-03-10Extract Directories from BootstrapFixtureBaseStephan Bergmann1-1/+1
(as some tests derive from the latter only for the Directories part, not for the setUp/tearDown overrides: those tests will be cleaned up next) Change-Id: Ib6b78eea868b8bc21d4cc6e8fd9e1d025deca05f Reviewed-on: https://gerrit.libreoffice.org/23078 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-03-08tdf#97703 Removed empty setUp/tearDown methodsChirag Manwani1-11/+0
Change-Id: Ia62de30ae94bdae87cd5109c44eab40af4d020e5 Reviewed-on: https://gerrit.libreoffice.org/22985 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-03-07improve defaultparams lopluginNoel Grandin1-2/+1
to catch calling params with defaults like "= OUSString()" Change-Id: Iad060e318ed492c22f8be44e326174fe6d28fff9 Reviewed-on: https://gerrit.libreoffice.org/22932 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-31boost::tuple -> std::tupleCaolán McNamara1-71/+70
Change-Id: Ia08c184b792ff73d3ed49d6a5d54dec1a35943e9 Reviewed-on: https://gerrit.libreoffice.org/21955 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-12-08writerfilter: loplugin:stringconstantMiklos Vajna1-2/+2
Change-Id: Idb0865f4d0db6c4eda33810ab2ef4cff49bc85d1
2015-12-08tdf#54584: adjust skip-slash condition, allow unterminated quoteMike Kaganski1-0/+20
Experimenting with different non-alpha characters in front of field, most of them aren't allowed and result in field not recognized by MS Word: #$%&'()*+,-./:;<>?@[]^_`{|}~ Besides, if backslash "\" is followed by another backslash or space, it is illegal, too. This patch takes care of it. On the other side, not closing quotes is allowed by MS Word. This patch allows this, too. The patch does not handle another allowed field code "=2+2". This should be done in another commit. Change-Id: I842fe59c026b68977e61a7ae0b5495c02803ad83 Reviewed-on: https://gerrit.libreoffice.org/20435 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin1-1/+1
Change-Id: I31a69a997098eb1807361b8049c3312a4f287d75
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann2-4/+4
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-05-26need DISABLE_CVE_TESTS for these tests under windows tooCaolán McNamara1-0/+2
Change-Id: I92de8fa6a48dac9a0a09e6ebda4af9b8e4c3a1d7
2015-04-20sw, writerfilter: these 'using namespace' statements can be avoided easilyMiklos Vajna1-3/+1
Especially the 'using namespace std' is scary, now that we have std::shared_ptr and boost::shared_ptr, too. Change-Id: Ibb584281f1b9d56103ab5984473eb484157c12d5
2015-03-19convert SFX_FILTER_ constants to enum classNoel Grandin1-2/+2
Change-Id: I7e53cfc90cefd9da7d6ecd795b09214bd44b1613
2015-03-18create new 'enum class' SotClipboardFormatId to unify typesNoel Grandin1-2/+2
of which there are several. There are some issues here I am unsure of - the SW and SC and CHART2 modules essentially ignore the enum values and assign their own ids Perhaps I should change them to use the common values and create new enum values where necessary? - the sc/qa/ and sq/qa/ and starmath/qa/ code was doing some dodgy stuff. I translated the code to pass down the stuff numeric values to the underlying code, but perhaps further fixing is necessary? Change-Id: Ic06d723e404481e3f1bca67c43b70321b764d923
2015-01-11Use std::initializer_list ctorMiklos Vajna1-3/+4
Change-Id: I0238d8f4ae6b92f92f8bb92df33da5552a158cbe
2014-10-22i#84172 RTF import: handle nested groups inside redlinesMiklos Vajna1-0/+11
The problem was that in case we had {\revised foo {bar}}, then we only started a redline before "foo", but we ended it twice: during handling of both "}". Make sure that the end of the redline is only handled by the second one. Change-Id: I41ab8b486e8615d3479fa0fadd6016476859b4b2
2014-10-18i#74153 RTF import: fix track changes vs superscript char propMiklos Vajna1-0/+8
Since 9dbf817fe5c5253fba0831aefa17575ae0ba3af1 (handle scope of w:pPrChange and w:rPrChange properly (bnc#821804), 2014-10-01), this caused an assertion failure -> crash. Change-Id: I680edf58854d0c9be6e77c44c1e6beb1e0442a49
2014-10-06encrypt sf_508f4e1..rtf to avoid it triggering virus detectionCaolán McNamara2-0/+0
use name CVE-pseudo-2009-0238-1.rtf to record its detected as Virus:Trojan.Mdropper and pseudo because its just a fuzzed file from some random .rtf and not an original reproducer for CVE-2009-0238 Change-Id: I85f6a72e0d32c14ea27cbe03bc4da3c2306fd1f5
2014-08-21NS_ooxml::LN_CT_LevelText_val might be missingCaolán McNamara1-0/+57
Change-Id: I2683dd30d521b91cf026b3553ed4f75ee4172b3a
2014-08-20empty ReferenceCaolán McNamara1-0/+62
valgrind + bff Change-Id: Id3c039a46dec5d2d4a4642dfb53d23a76972dde2