summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-12-20 15:39:38 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-12-21 07:36:42 +0100
commit0df75a03e2b67e65b42a582018c1ebe2e6e8491c (patch)
treec97f14c9a19d141cfb58d660f5b4ea577f57b284 /sc
parentf44becfdb8bc0dad2d3ec7abd3aaa889d9e0bfea (diff)
add more coverage to testRowForHeight
and more comments. Because I want better coverage before I go changing ScTable::GetRowForHeight And because it makes obvious the flaws in this method. Change-Id: Ic7ec7bdcbab2547387efaaf2c1ad8b7cd05d1b3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178922 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/unit/ucalc.cxx42
1 files changed, 33 insertions, 9 deletions
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 754ad0764749..78f41c2708ce 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -793,20 +793,44 @@ CPPUNIT_TEST_FIXTURE(Test, testRowForHeight)
};
std::vector<Check> aChecks = {
- { 1, 1 },
- { 99, 1 },
- { 120, 2 },
- { 330, 7 },
- { 420, 13 },
- { 780, 15 },
- { 1860, 20 },
- { 4020, 28 },
+ { -2000, -1 },
+ { -1000, -1 },
+ { -1, 0 },
+ { 0, 0 }, // row 0 begins
+ { 1, 1 },
+ { 99, 1 }, // row 0 ends
+ { 100, 1 }, // row 1 begins
+ { 101, 2 },
+ { 120, 2 },
+ { 199, 2 }, // row 1 ends
+ { 200, 2 }, // row 2 begins
+ { 201, 6 },
+ { 299, 6 }, // row 2 ends
+ { 300, 6 }, // row 6 begins, because 3-5 are hidden
+ { 330, 7 },
+ { 399, 7 }, // row 6 ends
+ { 400, 7 }, // row 7 begins
+ { 401, 13 },
+ { 420, 13 },
+ { 499, 13 }, // row 7 ends
+ { 500, 13 }, // row 13 begins, because 8-12 are hidden
+ { 501, 14 },
+ { 599, 14 },
+ { 600, 14 },
+ { 699, 14 }, // row 13 ends (row 13 is 200 pixels high)
+ { 700, 14 }, // row 14 begins
+ { 780, 15 },
+ { 899, 15 }, // row 14 ends (row 14 is 200 pixels high)
+ { 900, 15 }, // row 15 begins
+ { 1860, 20 },
+ { 4020, 28 },
};
for (const Check& rCheck : aChecks)
{
SCROW nRow = m_pDoc->GetRowForHeight(0, rCheck.nHeight);
- CPPUNIT_ASSERT_EQUAL(rCheck.nRow, nRow);
+ OString sMessage = "for height " + OString::number(rCheck.nHeight) + " we expect row " + OString::number(rCheck.nRow);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sMessage.getStr(), rCheck.nRow, nRow);
}
}