Kaydet (Commit) edbe84a0 authored tarafından Marco Cecchetti's avatar Marco Cecchetti Kaydeden (comit) Marco Cecchetti

calc: unit tests for data validation

Change-Id: I28ec2bd374d98ea1094649ac30ff7dd4c62370ae
Reviewed-on: https://gerrit.libreoffice.org/53726Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMarco Cecchetti <mrcekets@gmail.com>
üst e9fe5e71
"",,
"",,Enter text not a numeric value.
"",,AAAA
"",,AAA12
...@@ -137,6 +137,7 @@ public: ...@@ -137,6 +137,7 @@ public:
void testMergedCellsODS(); void testMergedCellsODS();
void testRepeatedColumnsODS(); void testRepeatedColumnsODS();
void testDataValidityODS(); void testDataValidityODS();
void testDataValidityXLSX();
void testDataTableMortgageXLS(); void testDataTableMortgageXLS();
void testDataTableOneVarXLSX(); void testDataTableOneVarXLSX();
void testDataTableMultiTableXLSX(); void testDataTableMultiTableXLSX();
...@@ -279,6 +280,7 @@ public: ...@@ -279,6 +280,7 @@ public:
CPPUNIT_TEST(testMergedCellsODS); CPPUNIT_TEST(testMergedCellsODS);
CPPUNIT_TEST(testRepeatedColumnsODS); CPPUNIT_TEST(testRepeatedColumnsODS);
CPPUNIT_TEST(testDataValidityODS); CPPUNIT_TEST(testDataValidityODS);
CPPUNIT_TEST(testDataValidityXLSX);
CPPUNIT_TEST(testDataTableMortgageXLS); CPPUNIT_TEST(testDataTableMortgageXLS);
CPPUNIT_TEST(testDataTableOneVarXLSX); CPPUNIT_TEST(testDataTableOneVarXLSX);
CPPUNIT_TEST(testDataTableMultiTableXLSX); CPPUNIT_TEST(testDataTableMultiTableXLSX);
...@@ -1334,6 +1336,7 @@ void ScFiltersTest::testDataValidityODS() ...@@ -1334,6 +1336,7 @@ void ScFiltersTest::testDataValidityODS()
ScAddress aValBaseAddr1( 2,6,0 ); //sheet1 ScAddress aValBaseAddr1( 2,6,0 ); //sheet1
ScAddress aValBaseAddr2( 2,3,1 ); //sheet2 ScAddress aValBaseAddr2( 2,3,1 ); //sheet2
ScAddress aValBaseAddr3( 2,2,2 ); //sheet3
//sheet1's expected Data Validation Entry values //sheet1's expected Data Validation Entry values
ValDataTestParams aVDTParams1( ValDataTestParams aVDTParams1(
...@@ -1349,17 +1352,27 @@ void ScFiltersTest::testDataValidityODS() ...@@ -1349,17 +1352,27 @@ void ScFiltersTest::testDataValidityODS()
"Must be a whole number between 1 and 10.", "Must be a whole number between 1 and 10.",
SC_VALERR_STOP, 2 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 //check each sheet's Data Validation Entries
checkValiditationEntries( aVDTParams1 ); checkValiditationEntries( aVDTParams1 );
checkValiditationEntries( aVDTParams2 ); checkValiditationEntries( aVDTParams2 );
checkValiditationEntries( aVDTParams3 );
//expected ranges to be associated with data validity //expected ranges to be associated with data validity
ScRange aRange1( 2,2,0, 2,6,0 ); //sheet1 ScRange aRange1( 2,2,0, 2,6,0 ); //sheet1
ScRange aRange2( 2,3,1, 6,7,1 ); //sheet2 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 //check each sheet's cells for data validity
checkCellValidity( aValBaseAddr1, aRange1, rDoc ); checkCellValidity( aValBaseAddr1, aRange1, rDoc );
checkCellValidity( aValBaseAddr2, aRange2, rDoc ); checkCellValidity( aValBaseAddr2, aRange2, rDoc );
checkCellValidity( aValBaseAddr3, aRange3, rDoc );
//check each sheet's content //check each sheet's content
OUString aCSVFileName1; OUString aCSVFileName1;
...@@ -1370,6 +1383,32 @@ void ScFiltersTest::testDataValidityODS() ...@@ -1370,6 +1383,32 @@ void ScFiltersTest::testDataValidityODS()
createCSVPath("dataValidity2.", aCSVFileName2); createCSVPath("dataValidity2.", aCSVFileName2);
testFile(aCSVFileName2, rDoc, 1); 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(); xDocSh->DoClose();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment