diff options
author | Vasily Melenchuk <vasily.melenchuk@cib.de> | 2020-07-10 10:09:06 +0300 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2020-07-12 21:51:56 +0200 |
commit | 677f0cc64d124c42c98db0636c9cb295b28a9a29 (patch) | |
tree | b29528ea9798b29e7a420b9386c41d8ba6941204 | |
parent | 33d23bfd409783e5ba7279a7ef40f970e629e518 (diff) |
tdf#134548: sw: revert of changes to tab at zero pos
It looks like solution for provided in 5ed96c for
tdf#83309 is enough to resolve original bugdoc, so
these changes for emission of tab at zero position
are not required and produce just regressions.
Corresponding unittest for tdf#83309 is adjusted: it
is using now original bugdoc.
Conflicts:
sw/source/core/text/txttab.cxx
Change-Id: I2e7683f071f78c720436b4c9ccb903133a985e7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98476
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98547
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98564
-rw-r--r-- | sw/qa/extras/layout/data/tdf134548.odt | bin | 0 -> 10592 bytes | |||
-rw-r--r-- | sw/qa/extras/layout/layout.cxx | 19 | ||||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf83309.docx | bin | 12811 -> 112363 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport14.cxx | 12 | ||||
-rw-r--r-- | sw/source/core/text/txttab.cxx | 5 |
5 files changed, 24 insertions, 12 deletions
diff --git a/sw/qa/extras/layout/data/tdf134548.odt b/sw/qa/extras/layout/data/tdf134548.odt Binary files differnew file mode 100644 index 000000000000..bc714b0d5e01 --- /dev/null +++ b/sw/qa/extras/layout/data/tdf134548.odt diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 62a94a242a37..99e8eead8b02 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -3851,6 +3851,25 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testContinuousEndnotesMoveBackwards) assertXPath(pLayout, "/root/page[2]/ftncont", 1); } +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf134548) +{ + createDoc("tdf134548.odt"); + + // Second paragraph has two non zero width tabs in beginning of line + { + OUString sNodeType = parseDump("/root/page/body/txt[2]/Text[1]", "nType"); + CPPUNIT_ASSERT_EQUAL(OUString("PortionType::TabLeft"), sNodeType); + sal_Int32 nWidth = parseDump("/root/page/body/txt[2]/Text[1]", "nWidth").toInt32(); + CPPUNIT_ASSERT_GREATER(sal_Int32(0), nWidth); + } + { + OUString sNodeType = parseDump("/root/page/body/txt[2]/Text[2]", "nType"); + CPPUNIT_ASSERT_EQUAL(OUString("PortionType::TabLeft"), sNodeType); + sal_Int32 nWidth = parseDump("/root/page/body/txt[2]/Text[2]", "nWidth").toInt32(); + CPPUNIT_ASSERT_GREATER(sal_Int32(0), nWidth); + } +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/qa/extras/ooxmlexport/data/tdf83309.docx b/sw/qa/extras/ooxmlexport/data/tdf83309.docx Binary files differindex e8f59bc81969..03e0797877d8 100644 --- a/sw/qa/extras/ooxmlexport/data/tdf83309.docx +++ b/sw/qa/extras/ooxmlexport/data/tdf83309.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx index c9d8ed8b24aa..237e19092d1a 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx @@ -239,16 +239,14 @@ DECLARE_OOXMLIMPORT_TEST(testTdf125038c, "tdf125038c.docx") DECLARE_OOXMLEXPORT_TEST(testTdf83309, "tdf83309.docx") { - CPPUNIT_ASSERT_EQUAL(1, getPages()); - OUString sNodeType; + // Important: bug case had 4 pages + CPPUNIT_ASSERT_EQUAL(2, getPages()); // First paragraph does not have tab before - sNodeType = parseDump("/root/page/body/txt[1]/Text[1]", "nType"); + // (same applies to all paragraphs in doc, but lets assume they are + // behave same way) + OUString sNodeType = parseDump("/root/page[1]/body/txt[1]/Text[1]", "nType"); CPPUNIT_ASSERT_EQUAL(OUString("PortionType::Text"), sNodeType); - - // Second paragraph starts with tab - sNodeType = parseDump("/root/page/body/txt[2]/Text[1]", "nType"); - CPPUNIT_ASSERT_EQUAL(OUString("PortionType::TabLeft"), sNodeType); } DECLARE_OOXMLEXPORT_TEST(testTdf121661, "tdf121661.docx") diff --git a/sw/source/core/text/txttab.cxx b/sw/source/core/text/txttab.cxx index 63c253b0d0d7..c2fded221827 100644 --- a/sw/source/core/text/txttab.cxx +++ b/sw/source/core/text/txttab.cxx @@ -51,11 +51,6 @@ const SvxTabStop *SwLineInfo::GetTabStop( const SwTwips nSearchPos, const SwTwip if( rTabStop.GetTabPos() > SwTwips(nRight) ) return i ? nullptr : &rTabStop; - // If we are starting search from zero position, - // than we should include tabstop at zero position - if ((nSearchPos == 0) && (rTabStop.GetTabPos() == 0)) - return &rTabStop; - if( rTabStop.GetTabPos() > nSearchPos ) return &rTabStop; } |