sc/qa/unit/ucalc_formula.cxx | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
New commits: commit 3e06388b686e1c4f8547787baababf7ec1d0eec8 Author: Eike Rathke <er...@redhat.com> Date: Thu Oct 22 16:04:09 2015 +0200 unit test for tdf#95226 Change-Id: Ica252d3477e3a630777a59d64bfea7afb29351cd diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx index fb4b920..fda104e 100644 --- a/sc/qa/unit/ucalc_formula.cxx +++ b/sc/qa/unit/ucalc_formula.cxx @@ -3804,6 +3804,42 @@ void Test::testFuncIFERROR() aChecks[i].pFormula, OUString::createFromAscii( aChecks[i].pResult), aResult); } + const SCCOL nCols = 3; + const char* aData2[][nCols] = { + { "1", "2", "3" }, + { "4", "=1/0", "6" }, + { "7", "8", "9" } + }; + const char* aCheck2[][nCols] = { + { "1", "2", "3" }, + { "4", "Error","6" }, + { "7", "8", "9" } + }; + + // Data in C1:E3 + ScAddress aPos(2,0,0); + ScRange aRange = insertRangeData(m_pDoc, aPos, aData2, SAL_N_ELEMENTS(aData2)); + CPPUNIT_ASSERT(aRange.aStart == aPos); + + // Array formula in F4:H6 + const SCROW nElems2 = SAL_N_ELEMENTS(aCheck2); + const SCCOL nStartCol = aPos.Col() + nCols; + const SCROW nStartRow = aPos.Row() + nElems2; + m_pDoc->InsertMatrixFormula( nStartCol, nStartRow, nStartCol+nCols, nStartRow+nElems2, aMark, + "=IFERROR(C1:E3;\"Error\")", NULL); + + m_pDoc->CalcAll(); + + for (SCCOL nCol = nStartCol; nCol < nStartCol + nCols; ++nCol) + { + for (SCROW nRow = nStartRow; nRow < nStartRow + nElems2; ++nRow) + { + OUString aResult = m_pDoc->GetString( nCol, nRow, 0); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "IFERROR array result", + OUString::createFromAscii( aCheck2[nRow-nStartRow][nCol-nStartCol]), aResult); + } + } + m_pDoc->DeleteTab(0); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits