From 97ac77f067910fa5e8206d75160fa63546a9358d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 07:03:24 +0200 Subject: Merging upstream version 4:24.2.3. Signed-off-by: Daniel Baumann --- sw/qa/core/layout/tabfrm.cxx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'sw/qa/core/layout/tabfrm.cxx') diff --git a/sw/qa/core/layout/tabfrm.cxx b/sw/qa/core/layout/tabfrm.cxx index e0d099c771..9bfbd1b82e 100644 --- a/sw/qa/core/layout/tabfrm.cxx +++ b/sw/qa/core/layout/tabfrm.cxx @@ -17,6 +17,8 @@ #include #include #include +#include +#include namespace { @@ -235,6 +237,25 @@ CPPUNIT_TEST_FIXTURE(Test, testSplitFlyWrappedByTableNested) CPPUNIT_ASSERT_EQUAL(static_cast(3), pDoc->GetTableFrameFormats()->GetFormatCount()); CPPUNIT_ASSERT_EQUAL(static_cast(1), pDoc->GetSpzFrameFormats()->GetFormatCount()); } + +CPPUNIT_TEST_FIXTURE(Test, testSplitFlyHeader) +{ + // Given a document with 8 pages: a first page ending in a manual page break, then a multi-page + // floating table on pages 2..8: + createSwDoc("floattable-header.docx"); + CPPUNIT_ASSERT_EQUAL(8, getPages()); + + // When creating a new paragraph at doc start: + SwDocShell* pDocShell = getSwDocShell(); + SwWrtShell* pWrtShell = pDocShell->GetWrtShell(); + pWrtShell->SttEndDoc(/*bStt=*/true); + pWrtShell->SplitNode(); + // Without the accompanying fix in place, this test would have crashed here. + pWrtShell->CalcLayout(); + + // Then make sure we get one more page, since the first page is now 2 pages: + CPPUNIT_ASSERT_EQUAL(9, getPages()); +} } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3