sc/qa/unit/uicalc/data/tdf86166.ods |binary
 sc/qa/unit/uicalc/uicalc.cxx        |   17 +++++++++++++++++
 2 files changed, 17 insertions(+)

New commits:
commit 9f0e19721bb598c75835cfa94f4158085f81288e
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Wed Mar 30 16:21:07 2022 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Thu Mar 31 14:25:04 2022 +0200

    tdf#86166: sc_uicalc: Add unittest
    
    Change-Id: I7d7320e10c71e02606da192ee877f1df94d53c88
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132318
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/qa/unit/uicalc/data/tdf86166.ods 
b/sc/qa/unit/uicalc/data/tdf86166.ods
new file mode 100644
index 000000000000..21fb06763961
Binary files /dev/null and b/sc/qa/unit/uicalc/data/tdf86166.ods differ
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index ceaa63bab1f3..1da2c2559aac 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -1409,6 +1409,23 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf117706)
     CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 2, 0)));
 }
 
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf86166)
+{
+    ScModelObj* pModelObj = createDoc("tdf86166.ods");
+    ScDocument* pDoc = pModelObj->GetDocument();
+    CPPUNIT_ASSERT(pDoc);
+
+    CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount());
+
+    uno::Sequence<beans::PropertyValue> aArgs(
+        comphelper::InitPropertySequence({ { "Index", uno::Any(sal_uInt16(0)) 
} }));
+
+    // Without the fix in place, this test would have crashed here
+    dispatchCommand(mxComponent, ".uno:Remove", aArgs);
+
+    CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(1), pDoc->GetTableCount());
+}
+
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf108292)
 {
     ScModelObj* pModelObj = createDoc("tdf108292.ods");

Reply via email to