From 8e4c79472644452431381733a5e4b21f98fcdcf3 Mon Sep 17 00:00:00 2001 From: Xisco Fauli Date: Fri, 19 Jun 2020 12:46:30 +0200 Subject: tdf#133990: sw: Add unittest Change-Id: I3b5d1a2a2396fba9d350350ac4d04f7f97401ebe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96714 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sw/qa/extras/uiwriter/data3/tdf133990.odt | Bin 0 -> 17859 bytes sw/qa/extras/uiwriter/uiwriter3.cxx | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 sw/qa/extras/uiwriter/data3/tdf133990.odt diff --git a/sw/qa/extras/uiwriter/data3/tdf133990.odt b/sw/qa/extras/uiwriter/data3/tdf133990.odt new file mode 100644 index 000000000000..8eaca8161701 Binary files /dev/null and b/sw/qa/extras/uiwriter/data3/tdf133990.odt differ diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx b/sw/qa/extras/uiwriter/uiwriter3.cxx index 95d72d82f9a3..dda897ee2ee3 100644 --- a/sw/qa/extras/uiwriter/uiwriter3.cxx +++ b/sw/qa/extras/uiwriter/uiwriter3.cxx @@ -179,6 +179,33 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf125261) getProperty(getRun(getParagraph(1), 1), "HyperLinkURL")); } +CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf133990) +{ + load(DATA_DIRECTORY, "tdf133990.odt"); + + SwXTextDocument* pTextDoc = dynamic_cast(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + + uno::Reference xTextTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference xIndexAccess(xTextTablesSupplier->getTextTables(), + uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(sal_Int32(6), xIndexAccess->getCount()); + CPPUNIT_ASSERT_EQUAL(1, getPages()); + + //Use selectAll 3 times in a row + dispatchCommand(mxComponent, ".uno:SelectAll", {}); + dispatchCommand(mxComponent, ".uno:SelectAll", {}); + dispatchCommand(mxComponent, ".uno:SelectAll", {}); + + dispatchCommand(mxComponent, ".uno:Delete", {}); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); + + //Without the fix in place, it would have crashed here + dispatchCommand(mxComponent, ".uno:Undo", {}); + CPPUNIT_ASSERT_EQUAL(sal_Int32(6), xIndexAccess->getCount()); + CPPUNIT_ASSERT_EQUAL(1, getPages()); +} + CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf133982) { load(DATA_DIRECTORY, "tdf133982.docx"); -- cgit