fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7049 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-07-18 08:51:02 +00:00
parent f534927e0e
commit 290fd8f7ab
11 changed files with 1015 additions and 7 deletions

View File

@ -145,6 +145,27 @@ type
procedure TestWriteReadEmptyCells_OOXML_9;
procedure TestWriteReadEmptyCells_OOXML_9_inv;
{ §xcel/XML file format tests }
procedure TestWriteReadEmptyCells_XML_0;
procedure TestWriteReadEmptyCells_XML_0_inv;
procedure TestWriteReadEmptyCells_XML_1;
procedure TestWriteReadEmptyCells_XML_1_inv;
procedure TestWriteReadEmptyCells_XML_2;
procedure TestWriteReadEmptyCells_XML_2_inv;
procedure TestWriteReadEmptyCells_XML_3;
procedure TestWriteReadEmptyCells_XML_3_inv;
procedure TestWriteReadEmptyCells_XML_4;
procedure TestWriteReadEmptyCells_XML_4_inv;
procedure TestWriteReadEmptyCells_XML_5;
procedure TestWriteReadEmptyCells_XML_5_inv;
procedure TestWriteReadEmptyCells_XML_6;
procedure TestWriteReadEmptyCells_XML_6_inv;
procedure TestWriteReadEmptyCells_XML_7;
procedure TestWriteReadEmptyCells_XML_7_inv;
procedure TestWriteReadEmptyCells_XML_8;
procedure TestWriteReadEmptyCells_XML_8_inv;
procedure TestWriteReadEmptyCells_XML_9;
procedure TestWriteReadEmptyCells_XML_9_inv;
end;
implementation
@ -840,6 +861,109 @@ begin
end;
{ Excel2003 / XML tests }
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_0;
begin
TestWriteReadEmptyCells(sfExcelXML, 0, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_0_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 0, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_1;
begin
TestWriteReadEmptyCells(sfExcelXML, 1, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_1_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 1, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_2;
begin
TestWriteReadEmptyCells(sfExcelXML, 2, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_2_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 2, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_3;
begin
TestWriteReadEmptyCells(sfExcelXML, 3, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_3_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 3, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_4;
begin
TestWriteReadEmptyCells(sfExcelXML, 4, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_4_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 4, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_5;
begin
TestWriteReadEmptyCells(sfExcelXML, 5, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_5_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 5, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_6;
begin
TestWriteReadEmptyCells(sfExcelXML, 6, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_6_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 6, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_7;
begin
TestWriteReadEmptyCells(sfExcelXML, 7, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_7_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 7, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_8;
begin
TestWriteReadEmptyCells(sfExcelXML, 8, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_8_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 8, true);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_9;
begin
TestWriteReadEmptyCells(sfExcelXML, 9, false);
end;
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_XML_9_inv;
begin
TestWriteReadEmptyCells(sfExcelXML, 9, true);
end;
initialization
RegisterTest(TSpreadWriteReadEmptyCellTests);
InitSollLayouts;

View File

@ -33,6 +33,7 @@ type
procedure TestAutoDetect_BIFF5;
procedure TestAutoDetect_BIFF8;
procedure TestAutoDetect_OOXML;
procedure TestAutoDetect_XML;
procedure TestAutoDetect_ODS;
end;
@ -128,6 +129,12 @@ begin
TestAutoDetect(sfOOXML);
end;
{ Excel 2003/XML }
procedure TSpreadFileFormatTests.TestAutoDetect_XML;
begin
TestAutoDetect(sfExcelXML);
end;
{ ODS }
procedure TSpreadFileFormatTests.TestAutoDetect_ODS;
begin

View File

@ -67,6 +67,12 @@ type
procedure TestWriteRead_OOXML_Font_Arial;
procedure TestWriteRead_OOXML_Font_TimesNewRoman;
procedure TestWriteRead_OOXML_Font_CourierNew;
// Excel2003/XML test cases
// procedure TestWriteRead_XML_Bold;
procedure TestWriteRead_XML_Font_Arial;
procedure TestWriteRead_XML_Font_TimesNewRoman;
procedure TestWriteRead_XML_Font_CourierNew;
end;
implementation
@ -301,6 +307,25 @@ begin
TestWriteReadFont(sfOOXML, 'Courier New');
end;
{ Excel 2003/XML }
procedure TSpreadWriteReadFontTests.TestWriteRead_XML_Font_Arial;
begin
TestWriteReadFont(sfExcelXML, 'Arial');
end;
procedure TSpreadWriteReadFontTests.TestWriteRead_XML_Font_TimesNewRoman;
begin
TestWriteReadFont(sfExcelXML, 'Times New Roman');
end;
procedure TSpreadWriteReadFontTests.TestWriteRead_XML_Font_CourierNew;
begin
TestWriteReadFont(sfExcelXML, 'Courier New');
end;
initialization
RegisterTest(TSpreadWriteReadFontTests);

View File

@ -52,6 +52,8 @@ type
procedure Test_Write_Read_FormulaStrings_BIFF8;
{ OOXML Tests }
procedure Test_Write_Read_FormulaStrings_OOXML;
{ Excel2003/XML Tests }
procedure Test_Write_Read_FormulaStrings_XML;
{ ODS Tests }
procedure Test_Write_Read_FormulaStrings_ODS;
@ -64,6 +66,8 @@ type
procedure Test_Write_Read_CalcRPNFormula_BIFF8;
{ OOXML Tests }
procedure Test_Write_Read_CalcRPNFormula_OOXML;
{ Excel2003/XML Tests }
procedure Test_Write_Read_CalcRPNFormula_XML;
{ ODSL Tests }
procedure Test_Write_Read_CalcRPNFormula_ODS;
@ -76,6 +80,8 @@ type
procedure Test_Write_Read_CalcStringFormula_BIFF8;
{ OOXML Tests }
procedure Test_Write_Read_CalcStringFormula_OOXML;
{ Excel2003/XML Tests }
procedure Test_Write_Read_CalcStringFormula_XML;
{ ODS Tests }
procedure Test_Write_Read_CalcStringFormula_ODS;
@ -83,6 +89,7 @@ type
procedure Test_Write_Read_Calc3DFormula_BIFF5;
procedure Test_Write_Read_Calc3DFormula_BIFF8;
procedure Test_Write_Read_Calc3DFormula_OOXML;
procedure Test_Write_Read_Calc3DFormula_XML;
procedure Test_Write_Read_Calc3DFormula_ODS;
{ Overwrite formula with other content }
@ -90,24 +97,28 @@ type
procedure Test_OverwriteFormula_Number_BIFF5;
procedure Test_OverwriteFormula_Number_BIFF8;
procedure Test_OverwriteFormula_Number_OOXML;
procedure Test_OverwriteFormula_Number_XML;
procedure Test_OverwriteFormula_Number_ODS;
procedure Test_OverwriteFormula_Text_BIFF2;
procedure Test_OverwriteFormula_Text_BIFF5;
procedure Test_OverwriteFormula_Text_BIFF8;
procedure Test_OverwriteFormula_Text_OOXML;
procedure Test_OverwriteFormula_Text_XML;
procedure Test_OverwriteFormula_Text_ODS;
procedure Test_OverwriteFormula_Bool_BIFF2;
procedure Test_OverwriteFormula_Bool_BIFF5;
procedure Test_OverwriteFormula_Bool_BIFF8;
procedure Test_OverwriteFormula_Bool_OOXML;
procedure Test_OverwriteFormula_Bool_XML;
procedure Test_OverwriteFormula_Bool_ODS;
procedure Test_OverwriteFormula_Error_BIFF2;
procedure Test_OverwriteFormula_Error_BIFF5;
procedure Test_OverwriteFormula_Error_BIFF8;
procedure Test_OverwriteFormula_Error_OOXML;
procedure Test_OverwriteFormula_Error_XML;
procedure Test_OverwriteFormula_Error_ODS;
end;
@ -230,6 +241,11 @@ begin
Test_Write_Read_FormulaStrings(sfOOXML, true);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_FormulaStrings_XML;
begin
Test_Write_Read_FormulaStrings(sfExcelXML, true);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_FormulaStrings_ODS;
begin
Test_Write_Read_FormulaStrings(sfOpenDocument, true);
@ -528,6 +544,11 @@ begin
Test_Write_Read_CalcFormulas(sfOOXML, true);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_CalcRPNFormula_XML;
begin
Test_Write_Read_CalcFormulas(sfExcelXML, true);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_CalcRPNFormula_ODS;
begin
Test_Write_Read_CalcFormulas(sfOpenDocument, true);
@ -553,6 +574,11 @@ begin
Test_Write_Read_CalcFormulas(sfOOXML, false);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_CalcStringFormula_XML;
begin
Test_Write_Read_CalcFormulas(sfExcelXML, false);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_CalcStringFormula_ODS;
begin
Test_Write_Read_CalcFormulas(sfOpenDocument, false);
@ -862,6 +888,11 @@ begin
Test_Write_Read_Calc3DFormulas(sfOOXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_Calc3DFormula_XML;
begin
Test_Write_Read_Calc3DFormulas(sfExcelXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_Write_Read_Calc3DFormula_ODS;
begin
Test_Write_Read_Calc3DFormulas(sfOpenDocument);
@ -985,6 +1016,11 @@ begin
Test_OverwriteFormulaTest(0, sfOOXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Number_XML;
begin
Test_OverwriteFormulaTest(0, sfExcelXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Number_ODS;
begin
Test_OverwriteFormulaTest(0, sfOpenDocument);
@ -1010,6 +1046,11 @@ begin
Test_OverwriteFormulaTest(1, sfOOXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Text_XML;
begin
Test_OverwriteFormulaTest(1, sfExcelXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Text_ODS;
begin
Test_OverwriteFormulaTest(1, sfOpenDocument);
@ -1036,6 +1077,11 @@ begin
Test_OverwriteFormulaTest(2, sfOOXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Bool_XML;
begin
Test_OverwriteFormulaTest(2, sfExcelXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Bool_ODS;
begin
Test_OverwriteFormulaTest(2, sfOpenDocument);
@ -1062,6 +1108,11 @@ begin
Test_OverwriteFormulaTest(3, sfOOXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Error_XML;
begin
Test_OverwriteFormulaTest(3, sfExcelXML);
end;
procedure TSpreadWriteReadFormulaTests.Test_OverwriteFormula_Error_ODS;
begin
Test_OverwriteFormulaTest(3, sfOpenDocument);

View File

@ -28,10 +28,10 @@ type
ATestMode, ATooltipMode: Integer);
published
{ BIFF2 comment tests - nothing to do: BIFF2 does not support hyperlinks }
{ BIFF5 comment tests - nothing to do: BIFF5 does not support hyperlinks }
{ BIFF2 hyperlink tests - nothing to do: BIFF2 does not support hyperlinks }
{ BIFF5 hyperlink tests - nothing to do: BIFF5 does not support hyperlinks }
{ BIFF8 comment tests }
{ BIFF8 hyperlink tests }
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1_Tooltip2;
@ -51,7 +51,7 @@ type
procedure TestWriteRead_Hyperlink_BIFF8_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_InternalLink_Tooltip2;
{ OpenDocument comment tests }
{ OpenDocument hyperlink tests }
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1_Tooltip2;
@ -71,7 +71,7 @@ type
procedure TestWriteRead_Hyperlink_ODS_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_InternalLink_Tooltip2;
{ OOXML comment tests }
{ OOXML hyperlink tests }
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1_Tooltip2;
@ -90,6 +90,27 @@ type
procedure TestWriteRead_Hyperlink_OOXML_InternalLink;
procedure TestWriteRead_Hyperlink_OOXML_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_InternalLink_Tooltip2;
{ Excel2003/XML hyperlink tests }
procedure TestWriteRead_Hyperlink_XML_HTTPLink1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_FileLink;
procedure TestWriteRead_Hyperlink_XML_FileLink_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_FileLink_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_InternalLink;
procedure TestWriteRead_Hyperlink_XML_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_InternalLink_Tooltip2;
end;
implementation
@ -513,6 +534,99 @@ begin
TestWriteRead_Hyperlink(sfOOXML, 5, 2);
end;
{ Hyperlink tests for Excel2003/XML file format }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 2);
end;
initialization
RegisterTest(TSpreadWriteReadHyperlinkTests);

View File

@ -59,6 +59,7 @@ type
// Test for invalid sheet names
procedure InvalidSheetName_BIFF8;
procedure InvalidSheetName_XLSX;
procedure InvalidSheetName_XML;
procedure InvalidSheetName_ODS;
// Tests whether overwriting existing file works
procedure OverwriteExistingFile;
@ -201,6 +202,11 @@ begin
InvalidSheetname(sfOOXML);
end;
procedure TSpreadInternalTests.InvalidSheetName_XML;
begin
InvalidSheetname(sfExcelXML);
end;
procedure TSpreadInternalTests.InvalidSheetName_ODS;
begin
InvalidSheetname(sfOpenDocument);

View File

@ -89,7 +89,7 @@ type
procedure TestReadODFNumber21;
procedure TestReadODFNumber22;
procedure TestReadOOXMLNumber0; //number tests using ODF/LibreOffice file format
procedure TestReadOOXMLNumber0; //number tests using Excel XLSX file format
procedure TestReadOOXMLNumber1; //number and time
procedure TestReadOOXMLNumber2;
procedure TestReadOOXMLNumber3;
@ -112,6 +112,30 @@ type
procedure TestReadOOXMLNumber20;
procedure TestReadOOXMLNumber21;
procedure TestReadOOXMLNumber22;
procedure TestReadXMLNumber0; //number tests using Wxcel2003/XML file format
procedure TestReadXMLNumber1; //number and time
procedure TestReadXMLNumber2;
procedure TestReadXMLNumber3;
procedure TestReadXMLNumber4; //time only tests start here
procedure TestReadXMLNumber5;
procedure TestReadXMLNumber6;
procedure TestReadXMLNumber7;
procedure TestReadXMLNumber8;
procedure TestReadXMLNumber9;
procedure TestReadXMLNumber10;
procedure TestReadXMLNumber11;
procedure TestReadXMLNumber12;
procedure TestReadXMLNumber13;
procedure TestReadXMLNumber14;
procedure TestReadXMLNumber15;
procedure TestReadXMLNumber16;
procedure TestReadXMLNumber17;
procedure TestReadXMLNumber18;
procedure TestReadXMLNumber19;
procedure TestReadXMLNumber20;
procedure TestReadXMLNumber21;
procedure TestReadXMLNumber22;
end;
{ TSpreadWriteReadNumberTests }
@ -283,6 +307,7 @@ begin
TestWorkbook := TsWorkbook.Create;
case UpperCase(ExtractFileExt(FileName)) of
'.XLSX': TestWorkbook.ReadFromFile(FileName, sfOOXML);
'.XML' : TestWorkbook.ReadFromFile(FileName, sfExcelXML);
'.ODS' : TestWorkbook.ReadFromFile(FileName, sfOpenDocument);
// Excel XLS/BIFF
else TestWorkbook.ReadFromFile(FileName, sfExcel8);
@ -659,6 +684,123 @@ begin
end;
{ Excel2003/XML Tests }
procedure TSpreadReadNumberTests.TestReadXMLNumber0;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,0);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber1;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,1);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber2;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,2);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber3;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,3);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber4;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,4);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber5;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,5);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber6;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,6);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber7;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,7);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber8;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,8);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber9;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,9);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber10;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,10);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber11;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,11);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber12;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,12);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber13;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,13);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber14;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,14);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber15;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,15);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber16;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,16);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber17;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,17);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber18;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,18);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber19;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,19);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber20;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,20);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber21;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,21);
end;
procedure TSpreadReadNumberTests.TestReadXMLNumber22;
begin
TestReadNumber(ExtractFilePath(ParamStr(0)) + TestFileOOXML,22);
end;
initialization
// Register so these tests are included in a full run
RegisterTest(TSpreadReadNumberTests);

View File

@ -280,6 +280,79 @@ type
procedure TestWriteRead_OOXML_RepeatedCol_0_Row_0;
procedure TestWriteRead_OOXML_RepeatedCols_0_1_Rows_0_1;
{ Excel2003/XML page layout tests }
procedure TestWriteRead_XML_PageMargins_1sheet_0;
procedure TestWriteRead_XML_PageMargins_1sheet_1;
procedure TestWriteRead_XML_PageMargins_1sheet_2;
procedure TestWriteRead_XML_PageMargins_1sheet_3;
procedure TestWriteRead_XML_PageMargins_2sheets_0;
procedure TestWriteRead_XML_PageMargins_2sheets_1;
procedure TestWriteRead_XML_PageMargins_2sheets_2;
procedure TestWriteRead_XML_PageMargins_2sheets_3;
procedure TestWriteRead_XML_PageMargins_3sheets_0;
procedure TestWriteRead_XML_PageMargins_3sheets_1;
procedure TestWriteRead_XML_PageMargins_3sheets_2;
procedure TestWriteRead_XML_PageMargins_3sheets_3;
procedure TestWriteRead_XML_PageOrientation_1sheet;
procedure TestWriteRead_XML_PageOrientation_2sheets;
procedure TestWriteRead_XML_PageOrientation_3sheets;
procedure TestWriteRead_XML_PaperSize_1sheet;
procedure TestWriteRead_XML_PaperSize_2sheets;
procedure TestWriteRead_XML_PaperSize_3sheets;
procedure TestWriteRead_XML_ScalingFactor_1sheet;
procedure TestWriteRead_XML_ScalingFactor_2sheets;
procedure TestWriteRead_XML_ScalingFactor_3sheets;
procedure TestWriteRead_XML_WidthToPages_1sheet;
procedure TestWriteRead_XML_WidthToPages_2sheets;
procedure TestWriteRead_XML_WidthToPages_3sheets;
procedure TestWriteRead_XML_HeightToPages_1sheet;
procedure TestWriteRead_XML_HeightToPages_2sheets;
procedure TestWriteRead_XML_HeightToPages_3sheets;
procedure TestWriteRead_XML_PageNumber_1sheet;
procedure TestWriteRead_XML_PageNumber_2sheets;
procedure TestWriteRead_XML_PageNumber_3sheets;
procedure TestWriteRead_XML_HeaderFooterRegions_1sheet;
procedure TestWriteRead_XML_HeaderFooterRegions_2sheets;
procedure TestWriteRead_XML_HeaderFooterRegions_3sheets;
procedure TestWriteRead_XML_HeaderFooterSymbols_1sheet;
procedure TestWriteRead_XML_HeaderFooterSymbols_2sheets;
procedure TestWriteRead_XML_HeaderFooterSymbols_3sheets;
procedure TestWriteRead_XML_HeaderFooterFontSymbols_1sheet;
procedure TestWriteRead_XML_HeaderFooterFontSymbols_2sheets;
procedure TestWriteRead_XML_HeaderFooterFontSymbols_3sheets;
procedure TestWriteRead_XML_HeaderFooterFontColor_1sheet;
procedure TestWriteRead_XML_HeaderFooterFontColor_2sheets;
procedure TestWriteRead_XML_HeaderFooterFontColor_3sheets;
procedure TestWriteRead_XML_PrintRanges_1sheet_1Range_NoSpace;
procedure TestWriteRead_XML_PrintRanges_1sheet_2Ranges_NoSpace;
procedure TestWriteRead_XML_PrintRanges_2sheet_1Range_NoSpace;
procedure TestWriteRead_XML_PrintRanges_2sheet_2Ranges_NoSpace;
procedure TestWriteRead_XML_PrintRanges_1sheet_1Range_Space;
procedure TestWriteRead_XML_PrintRanges_1sheet_2Ranges_Space;
procedure TestWriteRead_XML_PrintRanges_2sheet_1Range_Space;
procedure TestWriteRead_XML_PrintRanges_2sheet_2Ranges_Space;
procedure TestWriteRead_XML_RepeatedRow_0;
procedure TestWriteRead_XML_RepeatedRows_0_1;
procedure TestWriteRead_XML_RepeatedRows_1_3;
procedure TestWriteRead_XML_RepeatedCol_0;
procedure TestWriteRead_XML_RepeatedCols_0_1;
procedure TestWriteRead_XML_RepeatedCols_1_3;
procedure TestWriteRead_XML_RepeatedCol_0_Row_0;
procedure TestWriteRead_XML_RepeatedCols_0_1_Rows_0_1;
{ OpenDocument page layout tests }
procedure TestWriteRead_ODS_PageMargins_1sheet_0;
procedure TestWriteRead_ODS_PageMargins_1sheet_1;
@ -1872,6 +1945,311 @@ begin
end;
{ Tests for Excdl2003/XML file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_1sheet_0;
begin
TestWriteRead_PageMargins(sfExcelXML, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_1sheet_1;
begin
TestWriteRead_PageMargins(sfExcelXML, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_1sheet_2;
begin
TestWriteRead_PageMargins(sfExcelXML, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_1sheet_3;
begin
TestWriteRead_PageMargins(sfExcelXML, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_XML_PageMargins_2sheets_0;
begin
TestWriteRead_PageMargins(sfExcelXML, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_2sheets_1;
begin
TestWriteRead_PageMargins(sfExcelXML, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_2sheets_2;
begin
TestWriteRead_PageMargins(sfExcelXML, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_2sheets_3;
begin
TestWriteRead_PageMargins(sfExcelXML, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_3sheets_0;
begin
TestWriteRead_PageMargins(sfExcelXML, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_3sheets_1;
begin
TestWriteRead_PageMargins(sfExcelXML, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_3sheets_2;
begin
TestWriteRead_PageMargins(sfExcelXML, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageMargins_3sheets_3;
begin
TestWriteRead_PageMargins(sfExcelXML, 3, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageOrientation_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageOrientation_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageOrientation_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PaperSize_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PaperSize_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PaperSize_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_ScalingFactor_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_ScalingFactor_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_ScalingFactor_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_WidthToPages_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_WidthToPages_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_WidthToPages_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeightToPages_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 4);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeightToPages_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 4);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeightToPages_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 4);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageNumber_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 5);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageNumber_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 5);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PageNumber_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 5);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterRegions_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 6);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterRegions_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 6);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterRegions_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 6);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterSymbols_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 7);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterSymbols_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 7);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterSymbols_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 7);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontSymbols_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 8);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontSymbols_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 8);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontSymbols_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 8);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontColor_1sheet;
begin
TestWriteRead_PageLayout(sfExcelXML, 1, 9);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontColor_2sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 2, 9);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_HeaderFooterFontColor_3sheets;
begin
TestWriteRead_PageLayout(sfExcelXML, 3, 9);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_1sheet_1Range_NoSpace;
begin
TestWriteRead_PrintRanges(sfExcelXML, 1, 1, false);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_1sheet_2Ranges_NoSpace;
begin
TestWriteRead_PrintRanges(sfExcelXML, 1, 2, false);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_2sheet_1Range_NoSpace;
begin
TestWriteRead_PrintRanges(sfExcelXML, 2, 1, false);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_2sheet_2Ranges_NoSpace;
begin
TestWriteRead_PrintRanges(sfExcelXML, 2, 2, false);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_1sheet_1Range_Space;
begin
TestWriteRead_PrintRanges(sfExcelXML, 1, 1, true);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_1sheet_2Ranges_Space;
begin
TestWriteRead_PrintRanges(sfExcelXML, 1, 2, true);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_2sheet_1Range_Space;
begin
TestWriteRead_PrintRanges(sfExcelXML, 2, 1, true);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_PrintRanges_2sheet_2Ranges_Space;
begin
TestWriteRead_PrintRanges(sfExcelXML, 2, 2, true);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedRow_0;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, -1, -1, 0, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedRows_0_1;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, -1, -1, 0, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedRows_1_3;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, -1, -1, 1, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedCol_0;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, 0, 0, -1, -1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedCols_0_1;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, 0, 1, -1, -1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedCols_1_3;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, 1, 3, -1, -1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedCol_0_Row_0;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, 0, 0, 0, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_XML_RepeatedCols_0_1_Rows_0_1;
begin
TestWriteRead_RepeatedColRows(sfExcelXML, 0, 1, 0, 1);
end;
{ Tests for Open Document file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_ODS_PageMargins_1sheet_0;

View File

@ -97,6 +97,30 @@ type
procedure TestWriteRead_OOXML_Passwords;
{ Excedl2003/XML protection tests }
procedure TestWriteRead_XML_WorkbookProtection_None;
procedure TestWriteRead_XML_WorkbookProtection_Struct;
procedure TestWriteRead_XML_WorkbookProtection_Win;
procedure TestWriteRead_XML_WorkbookProtection_StructWin;
procedure TestWriteRead_XML_WorksheetProtection_Default;
procedure TestWriteRead_XML_WorksheetProtection_FormatCells;
procedure TestWriteRead_XML_WorksheetProtection_FormatColumns;
procedure TestWriteRead_XML_WorksheetProtection_FormatRows;
procedure TestWriteRead_XML_WorksheetProtection_DeleteColumns;
procedure TestWriteRead_XML_WorksheetProtection_DeleteRows;
procedure TestWriteRead_XML_WorksheetProtection_InsertColumns;
procedure TestWriteRead_XML_WorksheetProtection_InsertHyperlinks;
procedure TestWriteRead_XML_WorksheetProtection_InsertRows;
procedure TestWriteRead_XML_WorksheetProtection_Sort;
procedure TestWriteRead_XML_WorksheetProtection_SelectLockedCells;
procedure TestWriteRead_XML_WorksheetProtection_SelectUnlockedCells;
procedure TestWriteRead_XML_WorksheetProtection_Objects;
procedure TestWriteRead_XML_CellProtection;
procedure TestWriteRead_XML_Passwords;
{ ODS protection tests }
procedure TestWriteRead_ODS_WorkbookProtection_None;
procedure TestWriteRead_ODS_WorkbookProtection_Struct;
@ -109,6 +133,7 @@ type
procedure TestWriteRead_ODS_CellProtection;
procedure TestWriteRead_ODS_Passwords;
end;
implementation
@ -662,7 +687,107 @@ end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_OOXML_Passwords;
begin
TestWriteRead_Passwords(sfOpenDocument);
TestWriteRead_Passwords(sfOOXML);
end;
{------------------------------------------------------------------------------}
{ Tests for OOXML file format }
{------------------------------------------------------------------------------}
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorkbookProtection_None;
begin
TestWriteRead_WorkbookProtection(sfExcelXML, 0);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorkbookProtection_Struct;
begin
TestWriteRead_WorkbookProtection(sfExcelXML, 1);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorkbookProtection_Win;
begin
TestWriteRead_WorkbookProtection(sfExcelXML, 2);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorkbookProtection_StructWin;
begin
TestWriteRead_WorkbookProtection(sfExcelXML, 3);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_Default;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 0);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_FormatCells;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 1);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_FormatColumns;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 2);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_FormatRows;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 3);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_DeleteColumns;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 4);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_DeleteRows;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 5);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_InsertColumns;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 6);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_InsertHyperlinks;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 7);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_InsertRows;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 8);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_Sort;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 9);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_SelectLockedCells;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 10);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_SelectUnlockedCells;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 11);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_WorksheetProtection_Objects;
begin
TestWriteRead_WorksheetProtection(sfExcelXML, 12);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_CellProtection;
begin
TestWriteRead_CellProtection(sfExcelXML);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_XML_Passwords;
begin
TestWriteRead_Passwords(sfExcelXML);
end;
@ -710,6 +835,12 @@ begin
TestWriteRead_CellProtection(sfOpenDocument);
end;
procedure TSpreadWriteReadProtectionTests.TestWriteRead_ODS_Passwords;
begin
TestWriteRead_Passwords(sfOpenDocument);
end;
initialization
RegisterTest(TSpreadWriteReadProtectionTests);

View File

@ -87,6 +87,9 @@ type
procedure SumMultiSheetRange_FlippedCells_OOXML;
procedure SumMultiSheetRange_FlippedSheets_OOXML;
procedure SumMultiSheetRange_FlippedSheetsAndCells_OOXML;
procedure SumMultiSheetRange_FlippedCells_XML;
procedure SumMultiSheetRange_FlippedSheets_XML;
procedure SumMultiSheetRange_FlippedSheetsAndCells_XML;
procedure SumMultiSheetRange_FlippedSheetsAndCells_ODS;
procedure IfConst_BIFF8;
@ -564,6 +567,11 @@ begin
TestFormula('SUM(Sheet3:Sheet2!C5:C3)', '55', ftkCellRangeSheetRange, sfOOXML, 'SUM(Sheet2:Sheet3!C3:C5)');
end;
procedure TSpreadSingleFormulaTests.SumMultiSheetRange_FlippedSheetsAndCells_XML;
begin
TestFormula('SUM(Sheet3:Sheet2!C5:C3)', '55', ftkCellRangeSheetRange, sfExcelXML, 'SUM(Sheet2:Sheet3!C3:C5)');
end;
procedure TSpreadSingleFormulaTests.SumMultiSheetRange_FlippedSheetsAndCells_ODS;
begin
TestFormula('SUM(Sheet3:Sheet2!C5:C3)', '55', ftkCellRangeSheetRange, sfOpenDocument, 'SUM(Sheet2:Sheet3!C3:C5)');
@ -585,6 +593,16 @@ begin
TestFormula('SUM(Sheet3:Sheet2!C3:C5)', '55', ftkCellRangeSheetRange, sfOOXML, 'SUM(Sheet2:Sheet3!C3:C5)');
end;
procedure TSpreadSingleFormulaTests.SumMultiSheetRange_FlippedCells_XML;
begin
TestFormula('SUM(Sheet2:Sheet3!C5:C3)', '55', ftkCellRangeSheetRange, sfExcelXML, 'SUM(Sheet2:Sheet3!C3:C5)');
end;
procedure TSpreadSingleFormulaTests.SumMultiSheetRange_FlippedSheets_XML;
begin
TestFormula('SUM(Sheet3:Sheet2!C3:C5)', '55', ftkCellRangeSheetRange, sfExcelXML, 'SUM(Sheet2:Sheet3!C3:C5)');
end;
{ --- }
procedure TSpreadSingleFormulaTests.IfConst_BIFF8;

View File

@ -32,12 +32,14 @@ type
procedure TestWriteVirtualMode_BIFF8;
procedure TestWriteVirtualMode_ODS;
procedure TestWriteVirtualMode_OOXML;
procedure TestWriteVirtualMode_XML;
procedure TestWriteVirtualMode_BIFF2_BufStream;
procedure TestWriteVirtualMode_BIFF5_BufStream;
procedure TestWriteVirtualMode_BIFF8_BufStream;
procedure TestWriteVirtualMode_ODS_BufStream;
procedure TestWriteVirtualMode_OOXML_BufStream;
procedure TestWriteVirtualMode_XML_BufStream;
end;
implementation
@ -149,6 +151,11 @@ begin
TestWriteVirtualMode(sfOOXML, false);
end;
procedure TSpreadVirtualModeTests.TestWriteVirtualMode_XML;
begin
TestWriteVirtualMode(sfExcelXML, false);
end;
procedure TSpreadVirtualModeTests.TestWriteVirtualMode_BIFF2_BufStream;
begin
TestWriteVirtualMode(sfExcel2, True);
@ -174,6 +181,11 @@ begin
TestWriteVirtualMode(sfOOXML, true);
end;
procedure TSpreadVirtualModeTests.TestWriteVirtualMode_XML_BufStream;
begin
TestWriteVirtualMode(sfExcelXML, true);
end;
initialization
// Register so these tests are included in a full run