sc/qa/unit/uicalc/uicalc.cxx | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
New commits: commit 888ab228d8839ea5c52907da726e560687e257b0 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Thu Jan 12 13:57:56 2023 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Jan 18 16:13:36 2023 +0000 tdf#151886: sc_uicalc: Add unittest Jenkins fails on mac and windows with sc/qa/unit/uicalc/uicalc.cxx:297: Assertion Test name: testTdf151886::TestBody equality assertion failed - Expected: 1,1 - Actual : Err:509 Change-Id: Iaa51174ef246bc4ac9096b345e2a33370a5ab967 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145403 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx index ad4212170dd4..4e8221b189e2 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -28,9 +28,11 @@ #include <docsh.hxx> #include <dpobject.hxx> #include <drwlayer.hxx> +#include <formulaopt.hxx> #include <inputopt.hxx> #include <postit.hxx> #include <rangeutl.hxx> +#include <scdll.hxx> #include <scmod.hxx> #include <tabvwsh.hxx> #include <viewdata.hxx> @@ -274,6 +276,51 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testExternalReferences) } } +#if !defined(MACOSX) && !defined(_WIN32) //FIXME +CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf151886) +{ + createScDoc(); + ScDocument* pDoc = getScDoc(); + + // Set the system locale to German + SvtSysLocaleOptions aOptions; + OUString sLocaleConfigString = aOptions.GetLanguageTag().getBcp47(); + aOptions.SetLocaleConfigString("de-DE"); + aOptions.Commit(); + comphelper::ScopeGuard g([&aOptions, &sLocaleConfigString] { + aOptions.SetLocaleConfigString(sLocaleConfigString); + aOptions.Commit(); + }); + + insertStringToCell("A1", u"=1,1"); + + insertStringToCell("A2", u"=1.1"); + + CPPUNIT_ASSERT_EQUAL(OUString("1,1"), pDoc->GetString(0, 0, 0)); + CPPUNIT_ASSERT_EQUAL(OUString("#NAME?"), pDoc->GetString(0, 1, 0)); + + // change UseEnglishFuncName to true + ScDocShell* pDocSh = getScDocShell(); + ScFormulaOptions aFormulaOptions = SC_MOD()->GetFormulaOptions(); + bool bOldStatus = aFormulaOptions.GetUseEnglishFuncName(); + aFormulaOptions.SetUseEnglishFuncName(true); + pDocSh->SetFormulaOptions(aFormulaOptions); + + insertStringToCell("A1", u"=1,1"); + + insertStringToCell("A2", u"=1.1"); + + // Without the fix in place, this test would have failed with + // - Expected: 1,1 + // - Actual : #NAME? + CPPUNIT_ASSERT_EQUAL(OUString("1,1"), pDoc->GetString(0, 0, 0)); + CPPUNIT_ASSERT_EQUAL(OUString("#NAME?"), pDoc->GetString(0, 1, 0)); + + aFormulaOptions.SetUseEnglishFuncName(bOldStatus); + pDocSh->SetFormulaOptions(aFormulaOptions); +} +#endif + CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf103994) { createScDoc();