summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-02-02 15:05:22 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-02-02 15:11:12 -0500
commitc5b79c8ae224b13a1035ab57998b0fe61d9fb886 (patch)
treea42eccf2330e7b610e359a9df454015d3f3bf1e5
parent4d881d03e5e7156a434719c689af05717bc58913 (diff)
fdo#74041: Write unit test for this.
Change-Id: I3af0e5be3f7c6ae15ebd26335020c8beb96d14d2
-rw-r--r--sc/qa/unit/ucalc.hxx2
-rw-r--r--sc/qa/unit/ucalc_sharedformula.cxx20
2 files changed, 22 insertions, 0 deletions
diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 0944f5a90f59..005e0c5b35a3 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -250,6 +250,7 @@ public:
void testSharedFormulasDeleteRows();
void testSharedFormulasRefUpdateMoveSheets();
void testSharedFormulasCopyPaste();
+ void testSharedFormulaInsertColumn();
void testFormulaPosition();
void testMixData();
@@ -406,6 +407,7 @@ public:
CPPUNIT_TEST(testSharedFormulasDeleteRows);
CPPUNIT_TEST(testSharedFormulasRefUpdateMoveSheets);
CPPUNIT_TEST(testSharedFormulasCopyPaste);
+ CPPUNIT_TEST(testSharedFormulaInsertColumn);
CPPUNIT_TEST(testFormulaPosition);
CPPUNIT_TEST(testJumpToPrecedentsDependents);
CPPUNIT_TEST(testSetBackgroundColor);
diff --git a/sc/qa/unit/ucalc_sharedformula.cxx b/sc/qa/unit/ucalc_sharedformula.cxx
index b4ce117f9cd3..04e917f35ebb 100644
--- a/sc/qa/unit/ucalc_sharedformula.cxx
+++ b/sc/qa/unit/ucalc_sharedformula.cxx
@@ -679,4 +679,24 @@ void Test::testSharedFormulasCopyPaste()
m_pDoc->DeleteTab(0);
}
+void Test::testSharedFormulaInsertColumn()
+{
+ m_pDoc->InsertTab(0, "Test");
+
+ // Set shared formula group over H2:H3.
+ m_pDoc->SetString(ScAddress(7,1,0), "=G3*B3");
+ m_pDoc->SetString(ScAddress(7,2,0), "=G4*B4");
+
+ // Insert a single column at Column F. This used to crash before fdo#74041.
+ m_pDoc->InsertCol(ScRange(5,0,0,5,MAXROW,0));
+
+ if (!checkFormula(*m_pDoc, ScAddress(8,1,0), "H3*B3"))
+ CPPUNIT_FAIL("Wrong formula!");
+
+ if (!checkFormula(*m_pDoc, ScAddress(8,2,0), "H4*B4"))
+ CPPUNIT_FAIL("Wrong formula!");
+
+ m_pDoc->DeleteTab(0);
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */