summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2018-02-26 17:50:25 +0100
committerJan Holesovsky <kendy@collabora.com>2018-03-13 11:39:58 +0100
commit3f6bbcc75d3f060bf00efd9471a46c348f81846f (patch)
treeda33a8b23f155736553901514f420862b45c0395 /sc
parent7828e8dcd82324ee15a5f739bcb63a47bf0e0778 (diff)
calc: unit tests for data validation
Change-Id: I51e1d992236de8ecc3e7dcf0085d629c5b863776 Reviewed-on: https://gerrit.libreoffice.org/50382 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'sc')
-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 90fc2de69629..3cf19c4f9189 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -146,6 +146,7 @@ public:
void testMergedCellsODS();
void testRepeatedColumnsODS();
void testDataValidityODS();
+ void testDataValidityXLSX();
void testDataTableMortgageXLS();
void testDataTableOneVarXLSX();
void testDataTableMultiTableXLSX();
@@ -277,6 +278,7 @@ public:
CPPUNIT_TEST(testMergedCellsODS);
CPPUNIT_TEST(testRepeatedColumnsODS);
CPPUNIT_TEST(testDataValidityODS);
+ CPPUNIT_TEST(testDataValidityXLSX);
CPPUNIT_TEST(testDataTableMortgageXLS);
CPPUNIT_TEST(testDataTableOneVarXLSX);
CPPUNIT_TEST(testDataTableMultiTableXLSX);
@@ -1324,6 +1326,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(
@@ -1339,17 +1342,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;
@@ -1360,6 +1373,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();
}