summaryrefslogtreecommitdiff
path: root/sw/qa/extras/layout/layout.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/qa/extras/layout/layout.cxx')
-rw-r--r--sw/qa/extras/layout/layout.cxx45
1 files changed, 45 insertions, 0 deletions
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<SwXTextDocument*>(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");