tdf#155324 sw: add unit test
Change-Id: I0df173be99b8b9fa3920431a8386e14fd1d2260e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151876
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/sw/qa/extras/layout/data/tox-update-wrong-pages.odt b/sw/qa/extras/layout/data/tox-update-wrong-pages.odt
new file mode 100644
index 0000000..40ceb7a
--- /dev/null
+++ b/sw/qa/extras/layout/data/tox-update-wrong-pages.odt
Binary files differ
diff --git a/sw/qa/extras/layout/layout3.cxx b/sw/qa/extras/layout/layout3.cxx
index 687b1c7..75d8727 100644
--- a/sw/qa/extras/layout/layout3.cxx
+++ b/sw/qa/extras/layout/layout3.cxx
@@ -133,6 +133,40 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf106234)
"width", "7881");
}
CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf155324)
{
createSwDoc("tox-update-wrong-pages.odt");
dispatchCommand(mxComponent, ".uno:UpdateAllIndexes", {});
xmlDocUniquePtr pXmlDoc = parseLayoutDump();
// the problem was that the first entry was on page 7, 2nd on page 9 etc.
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[1]/SwParaPortion/SwLineLayout/SwLinePortion[1]",
"portion", "Foo");
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[1]/SwParaPortion/SwLineLayout/SwLinePortion[2]",
"portion", "5");
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[2]/SwParaPortion/SwLineLayout/SwLinePortion[1]",
"portion", "bar");
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[2]/SwParaPortion/SwLineLayout/SwLinePortion[2]",
"portion", "7");
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[3]/SwParaPortion/SwLineLayout/SwLinePortion[1]",
"portion", "Three");
assertXPath(pXmlDoc,
"/root/page[1]/body/section[2]/txt[3]/SwParaPortion/SwLineLayout/SwLinePortion[2]",
"portion", "7");
// check first content page has the footnotes
assertXPath(pXmlDoc, "/root/page[5]/body/txt[1]/SwParaPortion/SwLineLayout", "portion", "Foo");
assertXPath(pXmlDoc, "/root/page[4]/ftncont", 0);
assertXPath(pXmlDoc, "/root/page[5]/ftncont/ftn", 5);
}
CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf120287b)
{
createSwDoc("tdf120287b.fodt");