tdf#132944: sw_uiwriter: Add unittest

Change-Id: I45568da4b3dccd4e0cfe990c50217012f02540c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96590
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit c7f7bbf082806ba74eb5a608bfeabd05bf73510d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99642
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
(cherry picked from commit 3a560c35bd7b652cc956d808b1f451f859c924d4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99667
diff --git a/sw/qa/extras/uiwriter/data/tdf132944.odt b/sw/qa/extras/uiwriter/data/tdf132944.odt
new file mode 100644
index 0000000..08c3562
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/tdf132944.odt
Binary files differ
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index e5f7de2..d2ffc5a 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -5655,6 +5655,27 @@ void SwUiWriterTest::testTdf35021_tabOverMarginDemo()
#endif
}

CPPUNIT_TEST_FIXTURE(SwUiWriterTest, testTdf132944)
{
    load(DATA_DIRECTORY, "tdf132944.odt");

    SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
    CPPUNIT_ASSERT(pTextDoc);

    CPPUNIT_ASSERT_EQUAL(1, getPages());

    lcl_dispatchCommand(mxComponent, ".uno:SelectAll", {});
    lcl_dispatchCommand(mxComponent, ".uno:Delete", {});
    Scheduler::ProcessEventsToIdle();
    CPPUNIT_ASSERT_EQUAL(1, getPages());

    lcl_dispatchCommand(mxComponent, ".uno:Undo", {});
    Scheduler::ProcessEventsToIdle();

    // Without the fix in place, the document would have had 2 pages
    CPPUNIT_ASSERT_EQUAL(1, getPages());
}

void SwUiWriterTest::testTdf106701_tabOverMarginAutotab()
{
    createDoc("tdf106701_tabOverMarginAutotab.doc");