fpspreadsheet: Add number, string and date/time tests for xlsx reading.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3425 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2014-08-05 08:25:17 +00:00
parent 3721362ca0
commit fe4b0ab8db
8 changed files with 708 additions and 6 deletions

View File

@ -197,6 +197,85 @@ type
procedure TestReadODFDate1899_35; procedure TestReadODFDate1899_35;
procedure TestReadODFDate1899_36; procedure TestReadODFDate1899_36;
procedure TestReadODFDate1899_37; procedure TestReadODFDate1899_37;
procedure TestReadOOXMLDate1904_0; // same as above except Excel xlsx format
procedure TestReadOOXMLDate1904_1; //date and time
procedure TestReadOOXMLDate1904_2;
procedure TestReadOOXMLDate1904_3;
procedure TestReadOOXMLDate1904_4; //time only tests start here
procedure TestReadOOXMLDate1904_5;
procedure TestReadOOXMLDate1904_6;
procedure TestReadOOXMLDate1904_7;
procedure TestReadOOXMLDate1904_8;
procedure TestReadOOXMLDate1904_9;
procedure TestReadOOXMLDate1904_10;
procedure TestReadOOXMLDate1904_11;
procedure TestReadOOXMLDate1904_12;
procedure TestReadOOXMLDate1904_13;
procedure TestReadOOXMLDate1904_14;
procedure TestReadOOXMLDate1904_15;
procedure TestReadOOXMLDate1904_16;
procedure TestReadOOXMLDate1904_17;
procedure TestReadOOXMLDate1904_18;
procedure TestReadOOXMLDate1904_19;
procedure TestReadOOXMLDate1904_20;
procedure TestReadOOXMLDate1904_21;
procedure TestReadOOXMLDate1904_22;
procedure TestReadOOXMLDate1904_23;
procedure TestReadOOXMLDate1904_24;
procedure TestReadOOXMLDate1904_25;
procedure TestReadOOXMLDate1904_26;
procedure TestReadOOXMLDate1904_27;
procedure TestReadOOXMLDate1904_28;
procedure TestReadOOXMLDate1904_29;
procedure TestReadOOXMLDate1904_30;
procedure TestReadOOXMLDate1904_31;
procedure TestReadOOXMLDate1904_32;
procedure TestReadOOXMLDate1904_33;
procedure TestReadOOXMLDate1904_34;
procedure TestReadOOXMLDate1904_35;
procedure TestReadOOXMLDate1904_36;
procedure TestReadOOXMLDate1904_37;
procedure TestReadOOXMLDate1899_0; //same as above except with the 1899/1900 date system set
procedure TestReadOOXMLDate1899_1;
procedure TestReadOOXMLDate1899_2;
procedure TestReadOOXMLDate1899_3;
procedure TestReadOOXMLDate1899_4;
procedure TestReadOOXMLDate1899_5;
procedure TestReadOOXMLDate1899_6;
procedure TestReadOOXMLDate1899_7;
procedure TestReadOOXMLDate1899_8;
procedure TestReadOOXMLDate1899_9;
procedure TestReadOOXMLDate1899_10;
procedure TestReadOOXMLDate1899_11;
procedure TestReadOOXMLDate1899_12;
procedure TestReadOOXMLDate1899_13;
procedure TestReadOOXMLDate1899_14;
procedure TestReadOOXMLDate1899_15;
procedure TestReadOOXMLDate1899_16;
procedure TestReadOOXMLDate1899_17;
procedure TestReadOOXMLDate1899_18;
procedure TestReadOOXMLDate1899_19;
procedure TestReadOOXMLDate1899_20;
procedure TestReadOOXMLDate1899_21;
procedure TestReadOOXMLDate1899_22;
procedure TestReadOOXMLDate1899_23;
procedure TestReadOOXMLDate1899_24;
procedure TestReadOOXMLDate1899_25;
procedure TestReadOOXMLDate1899_26;
procedure TestReadOOXMLDate1899_27;
procedure TestReadOOXMLDate1899_28;
procedure TestReadOOXMLDate1899_29;
procedure TestReadOOXMLDate1899_30;
procedure TestReadOOXMLDate1899_31;
procedure TestReadOOXMLDate1899_32;
procedure TestReadOOXMLDate1899_33;
procedure TestReadOOXMLDate1899_34;
procedure TestReadOOXMLDate1899_35;
procedure TestReadOOXMLDate1899_36;
procedure TestReadOOXMLDate1899_37;
end; end;
{ TSpreadWriteReadDateTests } { TSpreadWriteReadDateTests }
@ -1208,6 +1287,392 @@ begin
end; end;
{ Excel xlsx 1904 datemode tests }
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_0;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,0);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_1;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,1);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_2;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,2);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_3;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,3);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_4;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,4);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_5;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,5);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_6;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,6);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_7;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,7);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_8;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,8);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_9;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,9);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_10;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,10);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_11;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,11);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_12;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,12);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_13;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,13);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_14;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,14);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_15;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,15);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_16;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,16);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_17;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,17);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_18;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,18);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_19;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,19);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_20;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,20);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_21;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,21);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_22;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,22);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_23;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,23);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_24;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,24);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_25;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,25);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_26;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,26);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_27;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,27);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_28;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,28);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_29;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,29);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_30;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,30);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_31;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,31);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_32;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,32);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_33;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,33);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_34;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,34);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_35;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,35);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_36;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,36);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1904_37;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1904,37);
end;
{ ODS 1899 datemode tests }
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_0;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,0);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_1;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,1);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_2;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,2);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_3;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,3);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_4;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,4);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_5;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,5);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_6;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,6);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_7;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,7);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_8;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,8);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_9;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,9);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_10;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,10);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_11;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,11);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_12;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,12);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_13;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,13);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_14;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,14);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_15;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,15);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_16;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,16);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_17;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,17);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_18;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,18);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_19;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,19);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_20;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,20);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_21;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,21);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_22;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,22);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_23;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,23);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_24;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,24);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_25;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,25);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_26;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,26);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_27;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,27);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_28;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,28);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_29;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,29);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_30;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,30);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_31;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,31);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_32;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,32);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_33;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,33);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_34;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,34);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_35;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,35);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_36;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,36);
end;
procedure TSpreadReadDateTests.TestReadOOXMLDate1899_37;
begin
TestReadDate(ExtractFilePath(ParamStr(0)) + TestFileOOXML_1899,37);
end;
initialization initialization
// Register so these tests are included in a full run // Register so these tests are included in a full run
RegisterTest(TSpreadReadDateTests); RegisterTest(TSpreadReadDateTests);

View File

@ -41,7 +41,7 @@ type
published published
// Reads numbers values from spreadsheet and checks against list // Reads numbers values from spreadsheet and checks against list
// One cell per test so some tests can fail and those further below may still work // One cell per test so some tests can fail and those further below may still work
procedure TestReadNumber0; //number tests procedure TestReadNumber0; //number tests for biff8 file format
procedure TestReadNumber1; //number and time procedure TestReadNumber1; //number and time
procedure TestReadNumber2; procedure TestReadNumber2;
procedure TestReadNumber3; procedure TestReadNumber3;
@ -64,6 +64,7 @@ type
procedure TestReadNumber20; procedure TestReadNumber20;
procedure TestReadNumber21; procedure TestReadNumber21;
procedure TestReadNumber22; procedure TestReadNumber22;
procedure TestReadODFNumber0; //number tests using ODF/LibreOffice file format procedure TestReadODFNumber0; //number tests using ODF/LibreOffice file format
procedure TestReadODFNumber1; //number and time procedure TestReadODFNumber1; //number and time
procedure TestReadODFNumber2; procedure TestReadODFNumber2;
@ -87,6 +88,30 @@ type
procedure TestReadODFNumber20; procedure TestReadODFNumber20;
procedure TestReadODFNumber21; procedure TestReadODFNumber21;
procedure TestReadODFNumber22; procedure TestReadODFNumber22;
procedure TestReadOOXMLNumber0; //number tests using ODF/LibreOffice file format
procedure TestReadOOXMLNumber1; //number and time
procedure TestReadOOXMLNumber2;
procedure TestReadOOXMLNumber3;
procedure TestReadOOXMLNumber4; //time only tests start here
procedure TestReadOOXMLNumber5;
procedure TestReadOOXMLNumber6;
procedure TestReadOOXMLNumber7;
procedure TestReadOOXMLNumber8;
procedure TestReadOOXMLNumber9;
procedure TestReadOOXMLNumber10;
procedure TestReadOOXMLNumber11;
procedure TestReadOOXMLNumber12;
procedure TestReadOOXMLNumber13;
procedure TestReadOOXMLNumber14;
procedure TestReadOOXMLNumber15;
procedure TestReadOOXMLNumber16;
procedure TestReadOOXMLNumber17;
procedure TestReadOOXMLNumber18;
procedure TestReadOOXMLNumber19;
procedure TestReadOOXMLNumber20;
procedure TestReadOOXMLNumber21;
procedure TestReadOOXMLNumber22;
end; end;
{ TSpreadWriteReadNumberTests } { TSpreadWriteReadNumberTests }
@ -513,6 +538,123 @@ begin
end; end;
{ OOXML Tests }
procedure TSpreadReadNumberTests.TestReadOOXMLNumber0;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,0);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber1;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,1);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber2;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,2);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber3;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,3);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber4;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,4);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber5;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,5);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber6;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,6);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber7;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,7);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber8;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,8);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber9;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,9);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber10;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,10);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber11;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,11);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber12;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,12);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber13;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,13);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber14;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,14);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber15;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,15);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber16;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,16);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber17;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,17);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber18;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,18);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber19;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,19);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber20;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,20);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber21;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,21);
end;
procedure TSpreadReadNumberTests.TestReadOOXMLNumber22;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,22);
end;
initialization initialization
// Register so these tests are included in a full run // Register so these tests are included in a full run
RegisterTest(TSpreadReadNumberTests); RegisterTest(TSpreadReadNumberTests);

View File

@ -48,7 +48,6 @@
<Unit1> <Unit1>
<Filename Value="datetests.pas"/> <Filename Value="datetests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="datetests"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="stringtests.pas"/> <Filename Value="stringtests.pas"/>
@ -62,10 +61,12 @@
<Unit4> <Unit4>
<Filename Value="manualtests.pas"/> <Filename Value="manualtests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="manualtests"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="testsutility.pas"/> <Filename Value="testsutility.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="testsutility"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="internaltests.pas"/> <Filename Value="internaltests.pas"/>
@ -80,12 +81,10 @@
<Unit8> <Unit8>
<Filename Value="colortests.pas"/> <Filename Value="colortests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="colortests"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="fonttests.pas"/> <Filename Value="fonttests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="fonttests"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="optiontests.pas"/> <Filename Value="optiontests.pas"/>
@ -98,14 +97,17 @@
<Unit12> <Unit12>
<Filename Value="rpnformulaunit.pas"/> <Filename Value="rpnformulaunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="rpnFormulaUnit"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="formulatests.pas"/> <Filename Value="formulatests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="formulatests"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="emptycelltests.pas"/> <Filename Value="emptycelltests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="emptycelltests"/>
</Unit14> </Unit14>
</Units> </Units>
</ProjectOptions> </ProjectOptions>

View File

@ -49,7 +49,7 @@ type
published published
// Reads string values from spreadsheet and checks against list // Reads string values from spreadsheet and checks against list
// One cell per test so some tests can fail and those further below may still work // One cell per test so some tests can fail and those further below may still work
procedure TestReadString0; //empty string procedure TestReadString0; //biff8 empty string
procedure TestReadString1; procedure TestReadString1;
procedure TestReadString2; procedure TestReadString2;
procedure TestReadString3; procedure TestReadString3;
@ -63,6 +63,7 @@ type
procedure TestReadString11; procedure TestReadString11;
procedure TestReadString12; procedure TestReadString12;
procedure TestReadString13; procedure TestReadString13;
procedure TestReadODFString0; //OpenDocument/LibreOffice format empty string procedure TestReadODFString0; //OpenDocument/LibreOffice format empty string
procedure TestReadODFString1; procedure TestReadODFString1;
procedure TestReadODFString2; procedure TestReadODFString2;
@ -77,6 +78,22 @@ type
procedure TestReadODFString11; procedure TestReadODFString11;
procedure TestReadODFString12; procedure TestReadODFString12;
procedure TestReadODFString13; procedure TestReadODFString13;
procedure TestReadOOXMLString0; //Excel xlsx format empty string
procedure TestReadOOXMLString1;
procedure TestReadOOXMLString2;
procedure TestReadOOXMLString3;
procedure TestReadOOXMLString4;
procedure TestReadOOXMLString5;
procedure TestReadOOXMLString6;
procedure TestReadOOXMLString7;
procedure TestReadOOXMLString8;
procedure TestReadOOXMLString9;
procedure TestReadOOXMLString10;
procedure TestReadOOXMLString11;
procedure TestReadOOXMLString12;
procedure TestReadOOXMLString13;
end; end;
{ TSpreadWriteReadStringTests } { TSpreadWriteReadStringTests }
@ -412,6 +429,7 @@ begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileBIFF8,13); TestReadString(ExtractFilePath(ParamStr(0)) + TestFileBIFF8,13);
end; end;
{ ODF Tests }
procedure TSpreadReadStringTests.TestReadODFString0; procedure TSpreadReadStringTests.TestReadODFString0;
begin begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,0); TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,0);
@ -482,6 +500,77 @@ begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,13); TestReadString(ExtractFilePath(ParamStr(0)) + TestFileODF,13);
end; end;
{ ODF Tests }
procedure TSpreadReadStringTests.TestReadOOXMLString0;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,0);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString1;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,1);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString2;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,2);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString3;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,3);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString4;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,4);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString5;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,5);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString6;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,6);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString7;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,7);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString8;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,8);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString9;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,9);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString10;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,10);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString11;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,11);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString12;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,12);
end;
procedure TSpreadReadStringTests.TestReadOOXMLString13;
begin
TestReadString(ExtractFilePath(ParamStr(0)) + TestFileOOXML,13);
end;
initialization initialization
// Register so these tests are included in a full run // Register so these tests are included in a full run

Binary file not shown.

Binary file not shown.

View File

@ -17,6 +17,9 @@ const
TestFileODF_1904='testodf_1904.ods'; //OpenDocument/LibreOffice with 1904 datemode date system TestFileODF_1904='testodf_1904.ods'; //OpenDocument/LibreOffice with 1904 datemode date system
TestFileODF_1899='testodf_1899.ods'; //OpenDocument/LibreOffice with 1899/1900 datemode date system TestFileODF_1899='testodf_1899.ods'; //OpenDocument/LibreOffice with 1899/1900 datemode date system
TestFileODF=TestFileODF_1899; TestFileODF=TestFileODF_1899;
TestFileOOXML_1904='testooxml_1904.xlsx'; //Excel xlsx with 1904 datemode date system
TestFileOOXML_1899='testooxml_1899.xlsx'; //Excel xlsx with 1899/1900 datemode date system
TestFileOOXML=TestFileOOXML_1899;
TestFileManual='testmanual.xls'; //file name for manual checking using external spreadsheet program (Excel/LibreOffice..) TestFileManual='testmanual.xls'; //file name for manual checking using external spreadsheet program (Excel/LibreOffice..)
DatesSheet = 'Dates'; //worksheet name DatesSheet = 'Dates'; //worksheet name
FormulasSheet = 'Formulas'; //worksheet name FormulasSheet = 'Formulas'; //worksheet name

View File

@ -570,7 +570,8 @@ begin
// Number or date/time, depending on format // Number or date/time, depending on format
number := StrToFloat(dataStr, FPointSeparatorSettings); number := StrToFloat(dataStr, FPointSeparatorSettings);
if IsDateTimeFormat(cell^.NumberFormatStr) then begin if IsDateTimeFormat(cell^.NumberFormatStr) then begin
number := ConvertExcelDateTimeToDateTime(number, FDateMode); if cell^.NumberFormat <> nfTimeInterval then // no correction of time origin for "time interval" format
number := ConvertExcelDateTimeToDateTime(number, FDateMode);
AWorksheet.WriteDateTime(cell, number, cell^.NumberFormatStr) AWorksheet.WriteDateTime(cell, number, cell^.NumberFormatStr)
end end
else else