From bb2728fd246716588d135c9e159135b1c5a7d3e1 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 10 Mar 2015 11:25:53 +0200 Subject: Add unit test for bb0c05cebed131805d04919fac2b83030087451b Change-Id: I2b21a488a7f597603b65fac0ff3c6b05c3660994 --- .../data/xls/shared-formula/relative-refs2.xls | Bin 6656 -> 7168 bytes sc/qa/unit/subsequent_filters-test.cxx | 35 +++++++++++++++++++++ 2 files changed, 35 insertions(+) (limited to 'sc/qa/unit') diff --git a/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls b/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls index 56ff822fc59a..36c188c20698 100644 Binary files a/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls and b/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls differ diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index fdf892e4ce8b..7de72c1bb296 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -2677,9 +2677,17 @@ void ScFiltersTest::testSharedFormulaXLS() CPPUNIT_ASSERT_EQUAL(static_cast(1), pFC->GetSharedTopRow()); CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + pFC = rDoc.GetFormulaCell(ScAddress(2,10,0)); + CPPUNIT_ASSERT(pFC); + CPPUNIT_ASSERT_EQUAL(static_cast(1), pFC->GetSharedTopRow()); + CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + OUString aFormula; rDoc.GetFormula(2, 1, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(B9:D9)"), aFormula); + + rDoc.GetFormula(2, 10, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUM(B18:D18)"), aFormula); } { @@ -2688,9 +2696,36 @@ void ScFiltersTest::testSharedFormulaXLS() CPPUNIT_ASSERT_EQUAL(static_cast(8), pFC->GetSharedTopRow()); CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + pFC = rDoc.GetFormulaCell(ScAddress(4,17,0)); + CPPUNIT_ASSERT(pFC); + CPPUNIT_ASSERT_EQUAL(static_cast(8), pFC->GetSharedTopRow()); + CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + OUString aFormula; rDoc.GetFormula(4, 8, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(G9:EY9)"), aFormula); + + rDoc.GetFormula(4, 17, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUM(G18:EY18)"), aFormula); + } + + { + const ScFormulaCell* pFC = rDoc.GetFormulaCell(ScAddress(6,15,0)); + CPPUNIT_ASSERT(pFC); + CPPUNIT_ASSERT_EQUAL(static_cast(15), pFC->GetSharedTopRow()); + CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + + pFC = rDoc.GetFormulaCell(ScAddress(6,24,0)); + CPPUNIT_ASSERT(pFC); + CPPUNIT_ASSERT_EQUAL(static_cast(15), pFC->GetSharedTopRow()); + CPPUNIT_ASSERT_EQUAL(static_cast(10), pFC->GetSharedLength()); + + OUString aFormula; + rDoc.GetFormula(6, 15, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A16:A40000)"), aFormula); + + rDoc.GetFormula(6, 24, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A25:A40009)"), aFormula); } xDocSh->DoClose(); -- cgit