[Libreoffice-commits] core.git: sc/qa
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Fri Mar 26 16:31:31 UTC 2021
sc/qa/unit/ucalc.hxx | 2 ++
sc/qa/unit/ucalc_formula.cxx | 30 ++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
New commits:
commit bcfad35ee4033e50c351671e9229f9d16c107e67
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Fri Mar 26 12:01:54 2021 +0100
Commit: Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Fri Mar 26 17:30:49 2021 +0100
tdf#116216: sc_ucalc: Add unittest
Change-Id: I07237a491e3018b1d54794ac8456ea0fce3ae07d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113153
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index d5000f042c1e..17422ea8e804 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -206,6 +206,7 @@ public:
void testFuncLEN();
void testFuncLOOKUP();
void testFuncLOOKUParrayWithError();
+ void testTdf116216();
void testFuncVLOOKUP();
void testFuncMATCH();
void testFuncCELL();
@@ -654,6 +655,7 @@ public:
CPPUNIT_TEST(testFuncLEN);
CPPUNIT_TEST(testFuncLOOKUP);
CPPUNIT_TEST(testFuncLOOKUParrayWithError);
+ CPPUNIT_TEST(testTdf116216);
CPPUNIT_TEST(testFuncVLOOKUP);
CPPUNIT_TEST(testFuncMATCH);
CPPUNIT_TEST(testFuncCELL);
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index 6ff96cfd4b89..3d1a9a3677d8 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -5538,6 +5538,36 @@ void Test::testFuncLOOKUParrayWithError()
m_pDoc->DeleteTab(0);
}
+void Test::testTdf116216()
+{
+ sc::AutoCalcSwitch aACSwitch(*m_pDoc, true);
+ m_pDoc->InsertTab(0, "Test1");
+ m_pDoc->InsertTab(1, "Test2");
+
+ std::vector<std::vector<const char*>> aData = {
+ { "k1", "value1"},
+ { "k2", "value2"},
+ { "k3", "value3"}
+ };
+
+ insertRangeData(m_pDoc, ScAddress(0,1,1), aData); // A2:B4
+ m_pDoc->SetString(4,0,1, "k2"); // E1
+
+ m_pDoc->SetString(4,1,1, "=LOOKUP(1;1/(A$2:A$4=E$1);1)");
+ m_pDoc->SetString(4,2,1, "=LOOKUP(E1;A$2:A$4;B2:B4)");
+ m_pDoc->SetString(4,3,1, "=LOOKUP(1;1/(A$2:A$4=E$1);B2:B4)");
+
+ // Without the fix in place, this test would haved failed with
+ // - Expected: #N/A
+ // - Actual :
+ CPPUNIT_ASSERT_EQUAL(OUString("#N/A"), m_pDoc->GetString(4,1,1));
+ CPPUNIT_ASSERT_EQUAL(OUString("value2"), m_pDoc->GetString(4,2,1));
+ CPPUNIT_ASSERT_EQUAL(OUString("value2"), m_pDoc->GetString(4,3,1));
+
+ m_pDoc->DeleteTab(1);
+ m_pDoc->DeleteTab(0);
+}
+
void Test::testFuncVLOOKUP()
{
// VLOOKUP
More information about the Libreoffice-commits
mailing list