From 9da48950f80b44e4bc030bf4be3dd542860a7c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Vajngerl?= Date: Thu, 25 Jun 2026 22:18:03 +0900 Subject: [PATCH] Add a document test for LAMBDA and the callable functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A stored document gives broad coverage of the LAMBDA and ISOMITTED functions and the higher-order functions BYCOL, BYROW, MAKEARRAY, MAP, REDUCE and SCAN, in more combinations than the unit tests cover. Every function has its own sheet that compares each formula result against the expected value stored beside it. The first sheet combines all of those per-function checks into a single cell that is true only when every formula matched. A filter test loads the document, recalculates it and confirms that combined cell is true, so a regression in any of the covered functions makes the test fail. Signed-off-by: Tomaž Vajngerl Change-Id: I9c56e5bae343d53139ad5ac3f68b050678778640 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/5587 Tested-by: Jenkins CPCI Reviewed-by: Mike Kaganski (cherry picked from commit 2b7e77fb22b0430f528ebb4d8efeef14c52909e3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207822 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- .../data/xlsx/LambdaAndRelatedFunctions.xlsx | Bin 0 -> 23666 bytes sc/qa/unit/subsequent_filters_test.cxx | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sc/qa/unit/data/xlsx/LambdaAndRelatedFunctions.xlsx diff --git a/sc/qa/unit/data/xlsx/LambdaAndRelatedFunctions.xlsx b/sc/qa/unit/data/xlsx/LambdaAndRelatedFunctions.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..222a577710912ca8e2cdf449f880e972b0b0eda9 GIT binary patch literal 23666 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 literal 0 HcmV?d00001 diff --git a/sc/qa/unit/subsequent_filters_test.cxx b/sc/qa/unit/subsequent_filters_test.cxx index 0d5f616abf47..2d1305cd5faf 100644 --- a/sc/qa/unit/subsequent_filters_test.cxx +++ b/sc/qa/unit/subsequent_filters_test.cxx @@ -1768,6 +1768,22 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testExpandedArrayCollapsesOnNewBlockerXLSX) CPPUNIT_ASSERT_EQUAL(SCROW(1), nRows); } +CPPUNIT_TEST_FIXTURE(ScFiltersTest, testLambdaAndRelatedFunctions) +{ + // The document checks every LAMBDA and callable-function formula against + // its expected result. Cell B3 of the first sheet holds the combined + // outcome over all the per-function checks, and is true only when every + // check passed. Recalculate with the engine and confirm B3 is true. + createScDoc("xlsx/LambdaAndRelatedFunctions.xlsx"); + ScDocument* pDoc = getScDoc(); + + pDoc->CalcAll(); + + CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE( + "B3 reports that a formula in the document did not match its expected result", 1.0, + pDoc->GetValue(ScAddress(1, 2, 0)), 0.0); +} + ScFiltersTest::ScFiltersTest() : ScModelTestBase(u"sc/qa/unit/data"_ustr) {