diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2018-02-26 17:50:25 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-04-13 17:14:42 +0200 |
commit | 78d774381b09fc244de162211e9c3fbfe891cbea (patch) | |
tree | 4c83878885d3800e98ff18384749a0e37a4b1f27 /sc | |
parent | c7272eea116350e1424d59c358d8528016a2f713 (diff) |
calc: unit tests for data validation
Change-Id: I51e1d992236de8ecc3e7dcf0085d629c5b863776
Reviewed-on: https://gerrit.libreoffice.org/50381
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/qa/unit/data/contentCSV/dataValidity3.csv | 4 | ||||
-rw-r--r-- | sc/qa/unit/data/ods/dataValidity.ods | bin | 8425 -> 9493 bytes | |||
-rw-r--r-- | sc/qa/unit/data/xlsx/dataValidity.xlsx | bin | 0 -> 11268 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_filters-test.cxx | 39 |
4 files changed, 43 insertions, 0 deletions
diff --git a/sc/qa/unit/data/contentCSV/dataValidity3.csv b/sc/qa/unit/data/contentCSV/dataValidity3.csv new file mode 100644 index 000000000000..a8c82cecabdf --- /dev/null +++ b/sc/qa/unit/data/contentCSV/dataValidity3.csv @@ -0,0 +1,4 @@ +"",, +"",,Enter text not a numeric value. +"",,AAAA +"",,AAA12 diff --git a/sc/qa/unit/data/ods/dataValidity.ods b/sc/qa/unit/data/ods/dataValidity.ods Binary files differindex 008cea5561fc..9daf01ce7798 100644 --- a/sc/qa/unit/data/ods/dataValidity.ods +++ b/sc/qa/unit/data/ods/dataValidity.ods diff --git a/sc/qa/unit/data/xlsx/dataValidity.xlsx b/sc/qa/unit/data/xlsx/dataValidity.xlsx Binary files differnew file mode 100644 index 000000000000..da4d3ab41133 --- /dev/null +++ b/sc/qa/unit/data/xlsx/dataValidity.xlsx diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index 2e876434ce49..6d7d2496aa2e 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -137,6 +137,7 @@ public: void testMergedCellsODS(); void testRepeatedColumnsODS(); void testDataValidityODS(); + void testDataValidityXLSX(); void testDataTableMortgageXLS(); void testDataTableOneVarXLSX(); void testDataTableMultiTableXLSX(); @@ -278,6 +279,7 @@ public: CPPUNIT_TEST(testMergedCellsODS); CPPUNIT_TEST(testRepeatedColumnsODS); CPPUNIT_TEST(testDataValidityODS); + CPPUNIT_TEST(testDataValidityXLSX); CPPUNIT_TEST(testDataTableMortgageXLS); CPPUNIT_TEST(testDataTableOneVarXLSX); CPPUNIT_TEST(testDataTableMultiTableXLSX); @@ -1332,6 +1334,7 @@ void ScFiltersTest::testDataValidityODS() ScAddress aValBaseAddr1( 2,6,0 ); //sheet1 ScAddress aValBaseAddr2( 2,3,1 ); //sheet2 + ScAddress aValBaseAddr3( 2,2,2 ); //sheet3 //sheet1's expected Data Validation Entry values ValDataTestParams aVDTParams1( @@ -1347,17 +1350,27 @@ void ScFiltersTest::testDataValidityODS() "Must be a whole number between 1 and 10.", SC_VALERR_STOP, 2 ); + //sheet3's expected Data Validation Entry values + ValDataTestParams aVDTParams3( + SC_VALID_CUSTOM, ScConditionMode::Direct, "ISTEXT(C3)", EMPTY_OUSTRING, rDoc, + aValBaseAddr3, "Error sheet 3", + "Must not be a numerical value.", + SC_VALERR_STOP, 3 + ); //check each sheet's Data Validation Entries checkValiditationEntries( aVDTParams1 ); checkValiditationEntries( aVDTParams2 ); + checkValiditationEntries( aVDTParams3 ); //expected ranges to be associated with data validity ScRange aRange1( 2,2,0, 2,6,0 ); //sheet1 ScRange aRange2( 2,3,1, 6,7,1 ); //sheet2 + ScRange aRange3( 2,2,2, 2,6,2 ); //sheet3 //check each sheet's cells for data validity checkCellValidity( aValBaseAddr1, aRange1, rDoc ); checkCellValidity( aValBaseAddr2, aRange2, rDoc ); + checkCellValidity( aValBaseAddr3, aRange3, rDoc ); //check each sheet's content OUString aCSVFileName1; @@ -1368,6 +1381,32 @@ void ScFiltersTest::testDataValidityODS() createCSVPath("dataValidity2.", aCSVFileName2); testFile(aCSVFileName2, rDoc, 1); + OUString aCSVFileName3; + createCSVPath("dataValidity3.", aCSVFileName3); + testFile(aCSVFileName3, rDoc, 2); + + xDocSh->DoClose(); +} + +void ScFiltersTest::testDataValidityXLSX() +{ + ScDocShellRef xDocSh = loadDoc("dataValidity.", FORMAT_XLSX); + ScDocument& rDoc = xDocSh->GetDocument(); + + ScAddress aValBaseAddr1( 2,6,0 ); //sheet1 + ScAddress aValBaseAddr2( 2,3,1 ); //sheet2 + ScAddress aValBaseAddr3( 2,2,2 ); //sheet3 + + //expected ranges to be associated with data validity + ScRange aRange1( 2,2,0, 2,6,0 ); //sheet1 + ScRange aRange2( 2,3,1, 6,7,1 ); //sheet2 + ScRange aRange3( 2,2,2, 2,6,2 ); //sheet3 + + //check each sheet's cells for data validity + checkCellValidity( aValBaseAddr1, aRange1, rDoc ); + checkCellValidity( aValBaseAddr2, aRange2, rDoc ); + checkCellValidity( aValBaseAddr3, aRange3, rDoc ); + xDocSh->DoClose(); } |