From 6c53c86f3db0559eeb2bbb69051a8b6fb2863b11 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 17 Feb 2020 18:53:57 +0100 Subject: sw: add test for 391613785ae6fbb735cf7a86ea2f6a93161a8769 Change-Id: I3f0f49c1eb5e680f8c30848da046b4dc975af218 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88882 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- .../layout/data/redline_footnote_pagination.fodt | 792 +++++++++++++++++++++ sw/qa/extras/layout/layout.cxx | 45 ++ 2 files changed, 837 insertions(+) create mode 100644 sw/qa/extras/layout/data/redline_footnote_pagination.fodt diff --git a/sw/qa/extras/layout/data/redline_footnote_pagination.fodt b/sw/qa/extras/layout/data/redline_footnote_pagination.fodt new file mode 100644 index 000000000000..e4a6e5db7b1b --- /dev/null +++ b/sw/qa/extras/layout/data/redline_footnote_pagination.fodt @@ -0,0 +1,792 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Seite 2von 2 + + + + + + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + Zahl? + + + + + + + 1970-01-01T00:00:00 + + Xx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + x + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + xx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + xxx + + + + + + + 1970-01-01T00:00:00 + + xx Xxxxxxx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + xxxxxx, + + + + + + + 1970-01-01T00:00:00 + + xxxx + + + + + + + 1970-01-01T00:00:00 + + xxxxxxxx xxxxxxx xxxxx + + + + + + + 1970-01-01T00:00:00 + + xx xxxxxxxxxxxxxxx xxxxxxxxxx + + + + + + + 1970-01-01T00:00:00 + + xxxx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + , + + + + + + + 1970-01-01T00:00:00 + + xx xxxxxxxxxxxxxxxx xxx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + x + + + + + + + 1970-01-01T00:00:00 + + x + + + + + + + 1970-01-01T00:00:00 + + 1 + xxxxxxx? + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 2 + Xxx xxxxx xxxx xxxxx xxxxxxxxxx xxx xxxxxx xxxx? (xxxx: xxxx. xxxxxxxxxxx. xxxxxx xxx xxxxxxxxxxxx xxx xxxxx xx xxx xx xxxxxxx xxxxxxxxx xxx xxxxxxxxxx xxx xxx. xxxx xxxxx) + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + xxxxxxxxxxxxxxxxxxx ( + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + ) + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 3 + xxx xxx xxx xxxxxxxxxxxxxxxxx xxx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 4 + xxxxx xxxxxx xxxxxxxxx, xx xxxxxx xxxx xxxxxxxxx? (xxxx: xxxx xxxxxxxxxx, xxxx xxxx xx xxx xxxx xxx xx xxx xxx xxxxxxxxxxx) + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 5 + xxxx? + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 7 + xx xxxxx xxxxxxx xx xxxxxxx xxxxxxxxx xxx xxxxxxxxxxxx xxxxxxx. + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + 9 + xxxx? / xxxx xxxxxxxx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + + + + + + + 1970-01-01T00:00:00 + + xx + + + + + + + 1970-01-01T00:00:00 + + + + + + + + + + + + xxx xxxxxxxxx xxxxxxxxxxxxxxxxxx xxx xxxxxxxxxxxxx xxx xxxxxx xxxxxxx xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxx xxx xxx xxxx xxxxxxxxxxx xxxxxxx xxx xxxxxxxxxxxx xxxxxxxxxxxxxx xxxx xxxxx xx xxx xxxxxxx xxxxxxx xxxxxxxxxx. Xxxxxxxx xxx xxxxxxxxxxxx xxxx xxx xx. xxx xxxxxxxxxxxxx xxx xxxxxxx xxx xxxxxxxxxxxx xxx xx. xxx xxxxxxxxxxxxx, xxxxxxxxxxxx xxx xxxxxxxxxxxxx xxx xxxxxxxxxxxxx xxx xxxxxxxxxxxxxxxxxxx xxxxxxx xxx xxxxxxxxxxx xxxxxxxx xxxxxxxxxxxxx xxxxxxx. xxx xxxxx xxx xxxxxxxxxxxxx xxx xxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xxxxxxxxxxxxxxx xxxxxxxxxx xxxxxxx. xx xxxxxxxx xxx xxx xxxx xxxx xxxxxxxxx xx xxx xxxxxxxxxxxx xxxxxxxxxxxxxxxxxx (xxxx) xxx xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxx xxxxxxxx xxxxxxxxxxxxxx xxx xxxxxx xxx xxxxxxxx xxxxxxxxxx xxx xxxxxxxxxxx. xxxxxxxxxx xxx xxxx xxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxx xxxxxxxxxxxxxxxx xxx xx xxxxx xxx xxxxx xxxxxxxxx xxxxxx xxx xxxxx xxx xxxxx xxxx xxxx xxxxxxx xxx xxxxxxxx xxxxxxx xxx xxxxx xxxxxxxx xxx xxxxxxxxxxxxx xxxxxxxx.xxx xxxxxx xxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxx xxx xxxxxx xxxxxxxxxxxx xxxx xxx xxxxx xxx xxx xxxxxxxxxxxx xxxxxxx xxx xxxxxxxxxxxxx xxx xxx xxxxxxxxxxxx xxxxxxxxx xxxxxxx xxxx xxxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxx xx xxx xxxxxxxxxx xxxxxxxx. xxxxxxxxx xx xxxxxxx xxx xxxxxxxxx xxxxxxxxxxxxxx xxxxx xxx xxxxxxxxxxxxxxxxxx xxxx xxxxxxx xxxxxxxxxx xxx xxxxxxxx xxx, xx xxx xxxxxxxxxxxxxx xxxx xxxxxxx xx xxxxxxxxxxxx. + xxx xxxxxxxx xxxxxx xxx xxxxxxxx xxx xxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx (xxx) xxx xxxx xxxxxx xxxx xxx xxx xxxx xxx xxxxxxxx xxxxxxxxxxx xx x-xx-xxxxxxx xxxxxxxxxxx xxxxxxxxxxxx xxx xxxxx xxxx xxxx xxxxxx xxx. xxx xxxxxxx xxx xxxxxxxxxxxx xxxxx xxxxxxxxxxx xxxxxxxx xxxxx xxxxx xxxx xxx xxx xxx xxx. xxxx xxxxxxxxxxxxx xxxxxx xxx xxx xxxx xxxxx xx xxxxxxxx xxxxxxxxxxxxxx xxx xxxxxxxxxxx xx. xxxx, xxx xxxxxxx xxxxxxxxxxx xxxxxxxxxxxx (xx) xxxxxxx xx xxxx xxxx xx xxxxxxxxxxx xxxxxxx xxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxx. xxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxx xxxxxxxxx, xxxxxxxxxxxx xxx xxxxxxxxxxxxxxx xxxxxx xxx xxx xxxx xxxxxxxxxxxxx xxxxxxxxxxx xxxxx xxxxxxxx, xxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxx. xxxxxxxxxxxx. xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxx xxxxxxxxxx, xxxxxxxxxxxxxxx, xxxxxxxxxxxxxxx xxx., xxx xxxxxxx xxx xxxxx xxxxxxxxxxxx xxx xxxxx xxxxxxxxxx xxxxxxx. 1 + xxxx xxxxxxxxxx, xx xxx xxx xxxxxxxx xxxx. xxxxxxxxx xxx xxx xxxx xxxxxx xxxxxxx ?xxx xxxxxxxxx xxxxx xxxxxxxxxx xxxxxxxxxxxxxxx yyyyyyyyy yyy yyyyyyyyyyyyyyyy yyyyyyy yyy yyyyy yyyyyyyyy yyy yyyyyyyyy zzz. zzz zzzz zzzz zzz zzz zzzzzzz zzz zzzz zzzzzzzzzzzzzz zzzzzzzzzzzz xxxxx xxxxxxxxxxxxxxx. xxxx xxx xxx xxxxxxxxx xxx xxxxxxxxxx xxx xxxxxxxxx xxx. xxx xxxx xxxxx xxxxxxxxxx xxxxxxxxxxxxxxxster xxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxx. 2 + xxx xxxxxxxxxxxxx xxx xxxxx xxx xxxxxxxxxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxxx xxxxxxxxx xxxxxx. xxx xxx xxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxx xxxx xxxx xxx xxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxx. xx xxxxxxxx xxx xxx xxxxxxx xxxxxxxxxxxxxx xx xxx xxxxx xxxxxxx xxx xxxx xxxxxxx xxx xxxxxxxxxx xxxxxxx xxxxx xxxxxxxx. xxx xxxxx xxx xxxx xx x- xxx x-xxxxxxx xxxxxxxxxxx xxx xxxxxxxxxxxxx xxx xxxx xxxxxxxxxxx xxxxxxxxxxxx xxx xx. xxx xxxxxxxxxxxxx xxx xxxxxx xxxxxxxxxxxx xxxxxx xxxxxxxx xxxxxx. + + + + diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index ae3548737210..ebe20230b400 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -2151,6 +2151,51 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testRedlineCharAttributes) CheckRedlineCharAttributesHidden(); } +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testRedlineShowHideFootnotePagination) +{ + createDoc("redline_footnote_pagination.fodt"); + SwXTextDocument* pTextDoc = dynamic_cast(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + SwDoc* pDoc(pTextDoc->GetDocShell()->GetDoc()); + SwRootFrame* pLayout(pDoc->getIDocumentLayoutAccess().GetCurrentLayout()); + CPPUNIT_ASSERT(!pLayout->IsHideRedlines()); + + xmlDocPtr pXmlDoc = parseLayoutDump(); + + // check footnotes + assertXPath(pXmlDoc, "/root/page[1]/ftncont/ftn", 6); + assertXPath(pXmlDoc, "/root/page[2]/ftncont/ftn", 3); + // check that first page ends with the y line and second page starts with z + assertXPath(pXmlDoc, "/root/page[1]/body/txt[last()]/LineBreak[last()]", "Line", + "yyyyyyyyy yyy yyyyyyyyyyyyyyyy yyyyyyy yyy yyyyy yyyyyyyyy yyy yyyyyyyyy "); + assertXPath(pXmlDoc, "/root/page[2]/body/txt[1]/LineBreak[1]", "Line", + "zzz. zzz zzzz zzzz7 zzz zzz zzzzzzz zzz zzzz zzzzzzzzzzzzzz zzzzzzzzzzzz "); + + // hide redlines - all still visible footnotes move to page 1 + dispatchCommand(mxComponent, ".uno:ShowTrackedChanges", {}); + + discardDumpedLayout(); + pXmlDoc = parseLayoutDump(); + + assertXPath(pXmlDoc, "/root/page[1]/ftncont/ftn", 2); + assertXPath(pXmlDoc, "/root/page[2]/ftncont/ftn", 0); + + // show again - should now get the same result as on loading + dispatchCommand(mxComponent, ".uno:ShowTrackedChanges", {}); + + discardDumpedLayout(); + pXmlDoc = parseLayoutDump(); + + // check footnotes + assertXPath(pXmlDoc, "/root/page[1]/ftncont/ftn", 6); + assertXPath(pXmlDoc, "/root/page[2]/ftncont/ftn", 3); + // check that first page ends with the y line and second page starts with z + assertXPath(pXmlDoc, "/root/page[1]/body/txt[last()]/LineBreak[last()]", "Line", + "yyyyyyyyy yyy yyyyyyyyyyyyyyyy yyyyyyy yyy yyyyy yyyyyyyyy yyy yyyyyyyyy "); + assertXPath(pXmlDoc, "/root/page[2]/body/txt[1]/LineBreak[1]", "Line", + "zzz. zzz zzzz zzzz7 zzz zzz zzzzzzz zzz zzzz zzzzzzzzzzzzzz zzzzzzzzzzzz "); +} + CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testRedlineNumberInNumbering) { SwDoc* pDoc = createDoc("tdf42748.fodt"); -- cgit v1.2.3