summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2015-03-10 11:25:53 +0200
committerTor Lillqvist <tml@collabora.com>2015-03-10 12:16:24 +0200
commitbb2728fd246716588d135c9e159135b1c5a7d3e1 (patch)
treebdf7d0b696df7b6b79ecfa4d3fcfa8a152445c90
parent653d7bdceac9e83b2e8e0ffcc457d5a5b514742d (diff)
Change-Id: I2b21a488a7f597603b65fac0ff3c6b05c3660994
-rw-r--r--sc/qa/unit/data/xls/shared-formula/relative-refs2.xlsbin6656 -> 7168 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx35
2 files changed, 35 insertions, 0 deletions
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
--- a/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls
+++ b/sc/qa/unit/data/xls/shared-formula/relative-refs2.xls
Binary files 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<SCROW>(1), pFC->GetSharedTopRow());
CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(10), pFC->GetSharedLength());
+ pFC = rDoc.GetFormulaCell(ScAddress(2,10,0));
+ CPPUNIT_ASSERT(pFC);
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(1), pFC->GetSharedTopRow());
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(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<SCROW>(8), pFC->GetSharedTopRow());
CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(10), pFC->GetSharedLength());
+ pFC = rDoc.GetFormulaCell(ScAddress(4,17,0));
+ CPPUNIT_ASSERT(pFC);
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(8), pFC->GetSharedTopRow());
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(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<SCROW>(15), pFC->GetSharedTopRow());
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(10), pFC->GetSharedLength());
+
+ pFC = rDoc.GetFormulaCell(ScAddress(6,24,0));
+ CPPUNIT_ASSERT(pFC);
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(15), pFC->GetSharedTopRow());
+ CPPUNIT_ASSERT_EQUAL(static_cast<SCROW>(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();