Kaydet (Commit) 7a465782 authored tarafından Eike Rathke's avatar Eike Rathke Kaydeden (comit) Andras Timar

Unit test deleting shared formula group top cell, tdf#119623

Change-Id: I9a497b9d9ae09c8764f62549a60c8a2a952bc9e9
Reviewed-on: https://gerrit.libreoffice.org/61822Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
Tested-by: Jenkins
üst c444aab4
...@@ -398,6 +398,7 @@ public: ...@@ -398,6 +398,7 @@ public:
void testSharedFormulaUnshareAreaListeners(); void testSharedFormulaUnshareAreaListeners();
void testSharedFormulaListenerDeleteArea(); void testSharedFormulaListenerDeleteArea();
void testSharedFormulaUpdateOnReplacement(); void testSharedFormulaUpdateOnReplacement();
void testSharedFormulaDeleteTopCell();
void testSharedFormulaCutCopyMoveIntoRef(); void testSharedFormulaCutCopyMoveIntoRef();
void testSharedFormulaCutCopyMoveWithRef(); void testSharedFormulaCutCopyMoveWithRef();
void testSharedFormulaCutCopyMoveWithinRun(); void testSharedFormulaCutCopyMoveWithinRun();
...@@ -736,6 +737,7 @@ public: ...@@ -736,6 +737,7 @@ public:
CPPUNIT_TEST(testSharedFormulaUnshareAreaListeners); CPPUNIT_TEST(testSharedFormulaUnshareAreaListeners);
CPPUNIT_TEST(testSharedFormulaListenerDeleteArea); CPPUNIT_TEST(testSharedFormulaListenerDeleteArea);
CPPUNIT_TEST(testSharedFormulaUpdateOnReplacement); CPPUNIT_TEST(testSharedFormulaUpdateOnReplacement);
CPPUNIT_TEST(testSharedFormulaDeleteTopCell);
CPPUNIT_TEST(testSharedFormulaCutCopyMoveIntoRef); CPPUNIT_TEST(testSharedFormulaCutCopyMoveIntoRef);
CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithRef); CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithRef);
CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithinRun); CPPUNIT_TEST(testSharedFormulaCutCopyMoveWithinRun);
......
...@@ -2344,6 +2344,48 @@ void Test::testSharedFormulaUpdateOnReplacement() ...@@ -2344,6 +2344,48 @@ void Test::testSharedFormulaUpdateOnReplacement()
m_pDoc->DeleteTab(0); m_pDoc->DeleteTab(0);
} }
void Test::testSharedFormulaDeleteTopCell()
{
sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn on auto calc.
m_pDoc->InsertTab(0, "Test");
const char* pData[][2] = {
{ "=SUM(B$1:B$2)", "1" },
{ "=SUM(B$1:B$2)", "2" }
};
insertRangeData( m_pDoc, ScAddress(0,0,0), pData, SAL_N_ELEMENTS(pData));
// Check that A1:A2 is a formula group.
const ScFormulaCell* pFC = m_pDoc->GetFormulaCell( ScAddress(0,0,0));
CPPUNIT_ASSERT(pFC);
CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(0), pFC->GetSharedTopRow());
CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(2), pFC->GetSharedLength());
// Check results A1:A2.
CPPUNIT_ASSERT_EQUAL( 3.0, m_pDoc->GetValue( ScAddress(0,0,0)));
CPPUNIT_ASSERT_EQUAL( 3.0, m_pDoc->GetValue( ScAddress(0,1,0)));
// Delete cell A1.
ScMarkData aMark;
aMark.SelectOneTable(0);
getDocShell().GetDocFunc().DeleteCell( ScAddress(0,0,0), aMark, InsertDeleteFlags::CONTENTS, false);
// Check it's gone.
CPPUNIT_ASSERT(!m_pDoc->GetFormulaCell( ScAddress(0,0,0)));
// Check result A2.
CPPUNIT_ASSERT_EQUAL( 3.0, m_pDoc->GetValue( ScAddress(0,1,0)));
// Replace B1 with 4.
m_pDoc->SetString( ScAddress(1,0,0), "4");
// Check result A2.
CPPUNIT_ASSERT_EQUAL( 6.0, m_pDoc->GetValue( ScAddress(0,1,0)));
m_pDoc->DeleteTab(0);
}
void Test::testSharedFormulaCutCopyMoveIntoRef() void Test::testSharedFormulaCutCopyMoveIntoRef()
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment