tdf#158802: sc_uicalc: Add unittest
Change-Id: Ic9460d36ef1df18a05126bc06a5214c1d87317db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164331
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/unit/uicalc/data/tdf158802.xlsx b/sc/qa/unit/uicalc/data/tdf158802.xlsx
new file mode 100644
index 0000000..82f9c9f
--- /dev/null
+++ b/sc/qa/unit/uicalc/data/tdf158802.xlsx
Binary files differ
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index af9fb55..1bf9dfc1 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -1700,6 +1700,26 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf86166)
CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(1), pDoc->GetTableCount());
}
CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf158802)
{
createScDoc("tdf158802.xlsx");
ScDocument* pDoc = getScDoc();
CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount());
uno::Sequence<beans::PropertyValue> aArgs(
comphelper::InitPropertySequence({ { "Index", uno::Any(sal_uInt16(0)) } }));
dispatchCommand(mxComponent, ".uno:Remove", aArgs);
CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(1), pDoc->GetTableCount());
// Without the fix in place, this test would have crashed here
dispatchCommand(mxComponent, ".uno:Undo", aArgs);
CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount());
}
CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf149502_HangOnDeletingSheet1)
{
createScDoc("tdf149502_HangOnDeletingSheet1.ods");