diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-06-10 14:42:16 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-06-11 10:13:56 +0200 |
commit | 399f1f8e2458e672c6f78ad8775b4c73aece0e73 (patch) | |
tree | e7a8f5bdb177888ab7fa2f6340118661da8582e0 | |
parent | 8e745d2cf32d0711e569271af583aba8c40afdda (diff) |
tdf#132431: sc: Add unittest
Change-Id: I4ecae9e29827a29680c9f082a9602fc181b0b56e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96024
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | sc/qa/unit/uicalc/data/tdf132431.ods | bin | 0 -> 12217 bytes | |||
-rw-r--r-- | sc/qa/unit/uicalc/uicalc.cxx | 22 |
2 files changed, 22 insertions, 0 deletions
diff --git a/sc/qa/unit/uicalc/data/tdf132431.ods b/sc/qa/unit/uicalc/data/tdf132431.ods Binary files differnew file mode 100644 index 000000000000..2022a9db4f47 --- /dev/null +++ b/sc/qa/unit/uicalc/data/tdf132431.ods diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx index 694644b77df3..46e4b24bf669 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -149,6 +149,28 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124815) CPPUNIT_ASSERT_EQUAL(OUString("Rakennukset"), pDoc->GetString(ScAddress(2, 0, 0))); } +CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf132431) +{ + ScModelObj* pModelObj = createDoc("tdf132431.ods"); + ScDocument* pDoc = pModelObj->GetDocument(); + CPPUNIT_ASSERT(pDoc); + + OUString aFormula; + pDoc->GetFormula(7, 219, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUMIFS($H$2:$H$198,B$2:B$198,G220)"), aFormula); + CPPUNIT_ASSERT_EQUAL(0.0, pDoc->GetValue(ScAddress(7, 219, 0))); + + // Without the fix in place, it would crash here with + // uncaught exception of type std::exception (or derived). + // - vector::_M_fill_insert + pDoc->SetString(ScAddress(7, 219, 0), "=SUMIFS($H$2:$DB$198,B$2:B$198,G220)"); + + pDoc->GetFormula(7, 219, 0, aFormula); + CPPUNIT_ASSERT_EQUAL(OUString("=SUMIFS($H$2:$DB$198,B$2:B$198,G220)"), aFormula); + CPPUNIT_ASSERT_EQUAL(0.0, pDoc->GetValue(ScAddress(7, 219, 0))); + CPPUNIT_ASSERT_EQUAL(OUString("Err:502"), pDoc->GetString(ScAddress(7, 219, 0))); +} + CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf83901) { mxComponent = loadFromDesktop("private:factory/scalc"); |