summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasily Melenchuk <vasily.melenchuk@cib.de>2020-07-10 10:09:06 +0300
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2020-07-12 21:51:56 +0200
commit677f0cc64d124c42c98db0636c9cb295b28a9a29 (patch)
treeb29528ea9798b29e7a420b9386c41d8ba6941204
parent33d23bfd409783e5ba7279a7ef40f970e629e518 (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.odtbin0 -> 10592 bytes
-rw-r--r--sw/qa/extras/layout/layout.cxx19
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf83309.docxbin12811 -> 112363 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport14.cxx12
-rw-r--r--sw/source/core/text/txttab.cxx5
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
new file mode 100644
index 000000000000..bc714b0d5e01
--- /dev/null
+++ b/sw/qa/extras/layout/data/tdf134548.odt
Binary files differ
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
index e8f59bc81969..03e0797877d8 100644
--- a/sw/qa/extras/ooxmlexport/data/tdf83309.docx
+++ b/sw/qa/extras/ooxmlexport/data/tdf83309.docx
Binary files differ
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;
}