summaryrefslogtreecommitdiff
path: root/sc/qa
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2021-11-26 11:30:50 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-12-01 16:21:35 +0100
commitb8084b0dee7d28f4fc8fa92eae6171880ac3a9c8 (patch)
tree9c0e3e4cc8d710d3d979cbb0a407e6e763f80a5e /sc/qa
parent59a90439a4e1d26e53008451237388fd26a8adf6 (diff)
tdf#144244: sc_uicalc: Add unittest
Change-Id: I4445152d8bcba0b571873a39c98936a4fcd207f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125872 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc/qa')
-rw-r--r--sc/qa/unit/uicalc/data/tdf144244.odsbin0 -> 11231 bytes
-rw-r--r--sc/qa/unit/uicalc/uicalc.cxx28
2 files changed, 28 insertions, 0 deletions
diff --git a/sc/qa/unit/uicalc/data/tdf144244.ods b/sc/qa/unit/uicalc/data/tdf144244.ods
new file mode 100644
index 000000000000..0d4487955ee8
--- /dev/null
+++ b/sc/qa/unit/uicalc/data/tdf144244.ods
Binary files differ
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 9c7ac09a9285..0090b752641f 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -345,6 +345,34 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf145085)
CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 1, 0)));
}
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf144244)
+{
+ ScModelObj* pModelObj = createDoc("tdf144244.ods");
+ ScDocument* pDoc = pModelObj->GetDocument();
+ CPPUNIT_ASSERT(pDoc);
+
+ uno::Reference<drawing::XDrawPage> xPage(pModelObj->getDrawPages()->getByIndex(0),
+ uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xPage->getCount());
+
+ // Select column A and B
+ goToCell("A:B");
+
+ dispatchCommand(mxComponent, ".uno:DeleteColumns", {});
+
+ CPPUNIT_ASSERT_EQUAL(OUString("x"), pDoc->GetString(ScAddress(0, 0, 0)));
+
+ // Without the fix in place, this test would have crashed
+ pModelObj = saveAndReload(mxComponent, "calc8");
+ pDoc = pModelObj->GetDocument();
+ CPPUNIT_ASSERT(pDoc);
+
+ CPPUNIT_ASSERT_EQUAL(OUString("x"), pDoc->GetString(ScAddress(0, 0, 0)));
+
+ xPage.set(pModelObj->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xPage->getCount());
+}
+
CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf100582)
{
ScModelObj* pModelObj = createDoc("tdf100582.xls");