From c5b79c8ae224b13a1035ab57998b0fe61d9fb886 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Sun, 2 Feb 2014 15:05:22 -0500 Subject: [PATCH] fdo#74041: Write unit test for this. Change-Id: I3af0e5be3f7c6ae15ebd26335020c8beb96d14d2 --- sc/qa/unit/ucalc.hxx | 2 ++ sc/qa/unit/ucalc_sharedformula.cxx | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) 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: */