summaryrefslogtreecommitdiff
path: root/sc/qa/unit
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2018-02-26 17:50:25 +0100
committerEike Rathke <erack@redhat.com>2018-04-13 17:14:42 +0200
commit78d774381b09fc244de162211e9c3fbfe891cbea (patch)
tree4c83878885d3800e98ff18384749a0e37a4b1f27 /sc/qa/unit
parentc7272eea116350e1424d59c358d8528016a2f713 (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/qa/unit')
-rw-r--r--sc/qa/unit/data/contentCSV/dataValidity3.csv4
-rw-r--r--sc/qa/unit/data/ods/dataValidity.odsbin8425 -> 9493 bytes
-rw-r--r--sc/qa/unit/data/xlsx/dataValidity.xlsxbin0 -> 11268 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx39
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
index 008cea5561fc..9daf01ce7798 100644
--- a/sc/qa/unit/data/ods/dataValidity.ods
+++ b/sc/qa/unit/data/ods/dataValidity.ods
Binary files differ
diff --git a/sc/qa/unit/data/xlsx/dataValidity.xlsx b/sc/qa/unit/data/xlsx/dataValidity.xlsx
new file mode 100644
index 000000000000..da4d3ab41133
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/dataValidity.xlsx
Binary files differ
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();
}