You've already forked lazarus-ccr
+ Tests: add support for LibreOffice/OpenOffice .ods spreadsheets
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2907 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -6,6 +6,7 @@ unit datetests;
|
||||
Adding tests/test data:
|
||||
1. Add a new value to column A in the relevant worksheet, and save the spreadsheet read-only
|
||||
(for dates, there are 2 files, with different datemodes. Use them both...)
|
||||
Repeat this for all supported spreadsheet formats (Excel XLS, ODF, etc)
|
||||
2. Increase SollDates array size
|
||||
3. Add value from 1) to InitNormVariables so you can test against it
|
||||
4. Add your read test(s), read and check read value against SollDates[<added number>]
|
||||
@ -117,6 +118,82 @@ type
|
||||
procedure TestReadDate1899_35;
|
||||
procedure TestReadDate1899_36;
|
||||
procedure TestReadDate1899_37;
|
||||
procedure TestReadODFDate0; // same as above except OpenDocument/ODF format
|
||||
procedure TestReadODFDate1; //date and time
|
||||
procedure TestReadODFDate2;
|
||||
procedure TestReadODFDate3;
|
||||
procedure TestReadODFDate4; //time only tests start here
|
||||
procedure TestReadODFDate5;
|
||||
procedure TestReadODFDate6;
|
||||
procedure TestReadODFDate7;
|
||||
procedure TestReadODFDate8;
|
||||
procedure TestReadODFDate9;
|
||||
procedure TestReadODFDate10;
|
||||
procedure TestReadODFDate11;
|
||||
procedure TestReadODFDate12;
|
||||
procedure TestReadODFDate13;
|
||||
procedure TestReadODFDate14;
|
||||
procedure TestReadODFDate15;
|
||||
procedure TestReadODFDate16;
|
||||
procedure TestReadODFDate17;
|
||||
procedure TestReadODFDate18;
|
||||
procedure TestReadODFDate19;
|
||||
procedure TestReadODFDate20;
|
||||
procedure TestReadODFDate21;
|
||||
procedure TestReadODFDate22;
|
||||
procedure TestReadODFDate23;
|
||||
procedure TestReadODFDate24;
|
||||
procedure TestReadODFDate25;
|
||||
procedure TestReadODFDate26;
|
||||
procedure TestReadODFDate27;
|
||||
procedure TestReadODFDate28;
|
||||
procedure TestReadODFDate29;
|
||||
procedure TestReadODFDate30;
|
||||
procedure TestReadODFDate31;
|
||||
procedure TestReadODFDate32;
|
||||
procedure TestReadODFDate33;
|
||||
procedure TestReadODFDate34;
|
||||
procedure TestReadODFDate35;
|
||||
procedure TestReadODFDate36;
|
||||
procedure TestReadODFDate37;
|
||||
procedure TestReadODFDate1899_0; //same as above except with the 1899/1900 date system set
|
||||
procedure TestReadODFDate1899_1;
|
||||
procedure TestReadODFDate1899_2;
|
||||
procedure TestReadODFDate1899_3;
|
||||
procedure TestReadODFDate1899_4;
|
||||
procedure TestReadODFDate1899_5;
|
||||
procedure TestReadODFDate1899_6;
|
||||
procedure TestReadODFDate1899_7;
|
||||
procedure TestReadODFDate1899_8;
|
||||
procedure TestReadODFDate1899_9;
|
||||
procedure TestReadODFDate1899_10;
|
||||
procedure TestReadODFDate1899_11;
|
||||
procedure TestReadODFDate1899_12;
|
||||
procedure TestReadODFDate1899_13;
|
||||
procedure TestReadODFDate1899_14;
|
||||
procedure TestReadODFDate1899_15;
|
||||
procedure TestReadODFDate1899_16;
|
||||
procedure TestReadODFDate1899_17;
|
||||
procedure TestReadODFDate1899_18;
|
||||
procedure TestReadODFDate1899_19;
|
||||
procedure TestReadODFDate1899_20;
|
||||
procedure TestReadODFDate1899_21;
|
||||
procedure TestReadODFDate1899_22;
|
||||
procedure TestReadODFDate1899_23;
|
||||
procedure TestReadODFDate1899_24;
|
||||
procedure TestReadODFDate1899_25;
|
||||
procedure TestReadODFDate1899_26;
|
||||
procedure TestReadODFDate1899_27;
|
||||
procedure TestReadODFDate1899_28;
|
||||
procedure TestReadODFDate1899_29;
|
||||
procedure TestReadODFDate1899_30;
|
||||
procedure TestReadODFDate1899_31;
|
||||
procedure TestReadODFDate1899_32;
|
||||
procedure TestReadODFDate1899_33;
|
||||
procedure TestReadODFDate1899_34;
|
||||
procedure TestReadODFDate1899_35;
|
||||
procedure TestReadODFDate1899_36;
|
||||
procedure TestReadODFDate1899_37;
|
||||
end;
|
||||
|
||||
{ TSpreadWriteReadDateTests }
|
||||
@ -137,8 +214,6 @@ type
|
||||
implementation
|
||||
|
||||
const
|
||||
TestFileBIFF8='testbiff8.xls'; //with 1904 datemode date system
|
||||
TestFileBIFF8_1899='testbiff8_1899.xls'; //with 1899/1900 datemode date system
|
||||
DatesSheet = 'Dates'; //worksheet name
|
||||
|
||||
// Initialize array with variables that represent the values
|
||||
@ -262,9 +337,14 @@ begin
|
||||
if Row>High(SollDates) then
|
||||
fail('Error in test code: array bounds overflow. Check array size is correct.');
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
// Open the spreadsheet
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
case UpperCase(ExtractFileExt(FileName)) of
|
||||
'.XLSX': MyWorkbook.ReadFromFile(FileName, sfOOXML);
|
||||
'.ODS': MyWorkbook.ReadFromFile(FileName, sfOpenDocument);
|
||||
// Excel XLS/BIFF
|
||||
else MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
end;
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,DatesSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code. Failed to get named worksheet');
|
||||
@ -672,6 +752,386 @@ begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileBIFF8_1899,37);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate0;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,0);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,1);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate2;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,2);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate3;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,3);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate4;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,4);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate5;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,5);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate6;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,6);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate7;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,7);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate8;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate9;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,9);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate10;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,10);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate11;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,11);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate12;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,12);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate13;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,13);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate14;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,14);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate15;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,15);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate16;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,16);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate17;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,17);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate18;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,18);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate19;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,19);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate20;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,20);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate21;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,21);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate22;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,22);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate23;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,23);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate24;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,24);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate25;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,25);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate26;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,26);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate27;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,27);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate28;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,28);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate29;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,29);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate30;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,30);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate31;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,31);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate32;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,32);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate33;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,33);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate34;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,34);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate35;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,35);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate36;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,36);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate37;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF,37);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_0;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,0);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_1;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,1);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_2;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,2);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_3;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,3);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_4;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,4);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_5;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,5);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_6;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,6);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_7;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,7);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_8;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_9;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,9);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_10;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,10);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_11;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,11);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_12;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,12);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_13;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,13);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_14;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,14);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_15;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,15);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_16;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,16);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_17;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,17);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_18;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,18);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_19;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,19);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_20;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,20);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_21;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,21);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_22;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,22);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_23;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,23);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_24;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,24);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_25;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,25);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_26;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,26);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_27;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,27);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_28;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,28);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_29;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,29);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_30;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,30);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_31;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,31);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_32;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,32);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_33;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,33);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_34;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,34);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_35;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,35);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_36;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,36);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadODFDate1899_37;
|
||||
begin
|
||||
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileODF_1899,37);
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
// Register so these tests are included in a full run
|
||||
|
@ -10,7 +10,7 @@ units (e.g. datetests).
|
||||
}
|
||||
|
||||
uses
|
||||
// Not using lazarus package as the user may be working with multiple versions
|
||||
// Not using Lazarus package as the user may be working with multiple versions
|
||||
// Instead, add .. to unit search path
|
||||
Classes, SysUtils, fpcunit, testutils, testregistry,
|
||||
fpsallformats, fpspreadsheet, xlsbiff8 {and a project requirement for lclbase for utf8 handling},
|
||||
|
@ -61,6 +61,26 @@ type
|
||||
procedure TestReadNumber17;
|
||||
procedure TestReadNumber18;
|
||||
procedure TestReadNumber19;
|
||||
procedure TestReadODFNumber0; //number tests using ODF/LibreOffice file format
|
||||
procedure TestReadODFNumber1; //number and time
|
||||
procedure TestReadODFNumber2;
|
||||
procedure TestReadODFNumber3;
|
||||
procedure TestReadODFNumber4; //time only tests start here
|
||||
procedure TestReadODFNumber5;
|
||||
procedure TestReadODFNumber6;
|
||||
procedure TestReadODFNumber7;
|
||||
procedure TestReadODFNumber8;
|
||||
procedure TestReadODFNumber9;
|
||||
procedure TestReadODFNumber10;
|
||||
procedure TestReadODFNumber11;
|
||||
procedure TestReadODFNumber12;
|
||||
procedure TestReadODFNumber13;
|
||||
procedure TestReadODFNumber14;
|
||||
procedure TestReadODFNumber15;
|
||||
procedure TestReadODFNumber16;
|
||||
procedure TestReadODFNumber17;
|
||||
procedure TestReadODFNumber18;
|
||||
procedure TestReadODFNumber19;
|
||||
end;
|
||||
|
||||
{ TSpreadWriteReadNumberTests }
|
||||
@ -137,6 +157,7 @@ var
|
||||
Row: Cardinal;
|
||||
TempFile: string; //write xls/xml to this file and read back from it
|
||||
begin
|
||||
//todo: add support for ODF format
|
||||
TempFile:=GetTempFileName;
|
||||
{// Not needed: use workbook.writetofile with overwrite=true
|
||||
if fileexists(TempFile) then
|
||||
@ -183,9 +204,14 @@ begin
|
||||
if Row>High(SollNumbers) then
|
||||
fail('Error in test code: array bounds overflow. Check array size is correct.');
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
// Open the spreadsheet
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
case UpperCase(ExtractFileExt(FileName)) of
|
||||
'.XLSX': MyWorkbook.ReadFromFile(FileName, sfOOXML);
|
||||
'.ODS': MyWorkbook.ReadFromFile(FileName, sfOpenDocument);
|
||||
// Excel XLS/BIFF
|
||||
else MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
end;
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,NumbersSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code. Failed to get named worksheet');
|
||||
@ -308,6 +334,107 @@ begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileBIFF8,17);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber0;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,0);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber1;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,1);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber2;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,2);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber3;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,3);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber4;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,4);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber5;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,5);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber6;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,6);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber7;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,7);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber8;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber9;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,9);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber10;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,10);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber11;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,11);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber12;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,12);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber13;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,13);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber14;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,14);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber15;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,15);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber16;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,16);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber17;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,17);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber18;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,16);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadODFNumber19;
|
||||
begin
|
||||
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileODF,17);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
initialization
|
||||
// Register so these tests are included in a full run
|
||||
|
@ -148,12 +148,15 @@
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EAssertionFailedError"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Name Value="Exception"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item4>
|
||||
<Item5>
|
||||
<Name Value="EIBDatabaseError"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item5>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
|
@ -130,17 +130,10 @@
|
||||
<OtherUnitFiles Value=".."/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<SmartLinkUnit Value="True"/>
|
||||
<Optimizations>
|
||||
<OptimizationLevel Value="0"/>
|
||||
</Optimizations>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerMessages>
|
||||
<MsgFileName Value=""/>
|
||||
@ -152,15 +145,19 @@
|
||||
<Exceptions Count="4">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Name Value="EAssertionFailedError"/>
|
||||
<Enabled Value="False"/>
|
||||
</Item4>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
|
@ -62,6 +62,19 @@ type
|
||||
procedure TestReadString10;
|
||||
procedure TestReadString11;
|
||||
procedure TestReadString12;
|
||||
procedure TestReadODFString0; //OpenDocument/LibreOffice format empty string
|
||||
procedure TestReadODFString1;
|
||||
procedure TestReadODFString2;
|
||||
procedure TestReadODFString3;
|
||||
procedure TestReadODFString4;
|
||||
procedure TestReadODFString5;
|
||||
procedure TestReadODFString6;
|
||||
procedure TestReadODFString7;
|
||||
procedure TestReadODFString8;
|
||||
procedure TestReadODFString9;
|
||||
procedure TestReadODFString10;
|
||||
procedure TestReadODFString11;
|
||||
procedure TestReadODFString12;
|
||||
end;
|
||||
|
||||
{ TSpreadWriteReadStringTests }
|
||||
@ -127,6 +140,7 @@ var
|
||||
Row: Cardinal;
|
||||
TempFile: string; //write xls/xml to this file and read back from it
|
||||
begin
|
||||
//todo: add support for ODF/LibreOffice format
|
||||
TempFile:=GetTempFileName;
|
||||
{// Not needed: use workbook.writetofile with overwrite=true
|
||||
if fileexists(TempFile) then
|
||||
@ -278,9 +292,14 @@ begin
|
||||
if Row>High(SollStrings) then
|
||||
fail('Error in test code: array bounds overflow. Check array size is correct.');
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
// Open the spreadsheet
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
case UpperCase(ExtractFileExt(FileName)) of
|
||||
'.XLSX': MyWorkbook.ReadFromFile(FileName, sfOOXML);
|
||||
'.ODS': MyWorkbook.ReadFromFile(FileName, sfOpenDocument);
|
||||
// Excel XLS/BIFF
|
||||
else MyWorkbook.ReadFromFile(FileName, sfExcel8);
|
||||
end;
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,StringsSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code: could not retrieve worksheet.');
|
||||
@ -368,6 +387,70 @@ begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileBIFF8,12);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString0;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,0);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString1;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,1);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString2;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,2);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString3;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,3);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString4;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,4);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString5;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,5);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString6;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,6);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString7;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,7);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString8;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString9;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,9);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString10;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,10);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString11;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,11);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadStringTests.TestReadODFString12;
|
||||
begin
|
||||
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,12);
|
||||
end;
|
||||
|
||||
initialization
|
||||
// Register so these tests are included in a full run
|
||||
|
BIN
components/fpspreadsheet/tests/testodf.ods
Normal file
BIN
components/fpspreadsheet/tests/testodf.ods
Normal file
Binary file not shown.
BIN
components/fpspreadsheet/tests/testodf_1899.ods
Normal file
BIN
components/fpspreadsheet/tests/testodf_1899.ods
Normal file
Binary file not shown.
@ -13,6 +13,8 @@ uses
|
||||
const
|
||||
TestFileBIFF8='testbiff8.xls'; //with 1904 datemode date system
|
||||
TestFileBIFF8_1899='testbiff8_1899.xls'; //with 1899/1900 datemode date system
|
||||
TestFileODF='testodf.ods'; //OpenDocument/LibreOffice with 1904 datemode date system
|
||||
TestFileODF_1899='testodf_1899.ods'; //OpenDocument/LibreOffice with 1899/1900 datemode date system
|
||||
TestFileManual='testmanual.xls'; //file name for manual checking using external spreadsheet program (Excel/LibreOffice..)
|
||||
DatesSheet = 'Dates'; //worksheet name
|
||||
FormulasSheet = 'Formulas'; //worksheet name
|
||||
|
Reference in New Issue
Block a user