
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8094 8e941d3f-bd1b-0410-a28a-d453659cc2b4
973 lines
28 KiB
ObjectPascal
973 lines
28 KiB
ObjectPascal
unit emptycelltests;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
{ Tests for correct location of empty cells
|
|
This unit test is writing out to and reading back from files.
|
|
}
|
|
|
|
uses
|
|
// Not using Lazarus package as the user may be working with multiple versions
|
|
// Instead, add .. to unit search path
|
|
Classes, SysUtils, fpcunit, testregistry,
|
|
fpstypes, fpspreadsheet, xlsbiff2, xlsbiff5, xlsbiff8, fpsopendocument, {and a project requirement for lclbase for utf8 handling}
|
|
testsutility;
|
|
|
|
var
|
|
// Norm to test against - list of strings that show the layout of empty and occupied cells
|
|
SollLayoutStrings: array[0..9] of string;
|
|
|
|
procedure InitSollLayouts;
|
|
|
|
type
|
|
{ TSpreadWriteReadEmptyCellTests }
|
|
//Write to xls/xml file and read back
|
|
TSpreadWriteReadEmptyCellTests = class(TTestCase)
|
|
private
|
|
protected
|
|
// Set up expected values:
|
|
procedure SetUp; override;
|
|
procedure TearDown; override;
|
|
procedure TestWriteReadEmptyCells(AFormat: TsSpreadsheetFormat;
|
|
ALayout: Integer; AInverted: Boolean);
|
|
|
|
published
|
|
// Writes out cell layouts
|
|
|
|
{ BIFF2 file format tests }
|
|
procedure TestWriteReadEmptyCells_BIFF2_0;
|
|
procedure TestWriteReadEmptyCells_BIFF2_0_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_1;
|
|
procedure TestWriteReadEmptyCells_BIFF2_1_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_2;
|
|
procedure TestWriteReadEmptyCells_BIFF2_2_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_3;
|
|
procedure TestWriteReadEmptyCells_BIFF2_3_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_4;
|
|
procedure TestWriteReadEmptyCells_BIFF2_4_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_5;
|
|
procedure TestWriteReadEmptyCells_BIFF2_5_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_6;
|
|
procedure TestWriteReadEmptyCells_BIFF2_6_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_7;
|
|
procedure TestWriteReadEmptyCells_BIFF2_7_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_8;
|
|
procedure TestWriteReadEmptyCells_BIFF2_8_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF2_9;
|
|
procedure TestWriteReadEmptyCells_BIFF2_9_inv;
|
|
|
|
{ BIFF5 file format tests }
|
|
procedure TestWriteReadEmptyCells_BIFF5_0;
|
|
procedure TestWriteReadEmptyCells_BIFF5_0_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_1;
|
|
procedure TestWriteReadEmptyCells_BIFF5_1_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_2;
|
|
procedure TestWriteReadEmptyCells_BIFF5_2_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_3;
|
|
procedure TestWriteReadEmptyCells_BIFF5_3_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_4;
|
|
procedure TestWriteReadEmptyCells_BIFF5_4_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_5;
|
|
procedure TestWriteReadEmptyCells_BIFF5_5_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_6;
|
|
procedure TestWriteReadEmptyCells_BIFF5_6_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_7;
|
|
procedure TestWriteReadEmptyCells_BIFF5_7_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_8;
|
|
procedure TestWriteReadEmptyCells_BIFF5_8_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF5_9;
|
|
procedure TestWriteReadEmptyCells_BIFF5_9_inv;
|
|
|
|
{ BIFF8 file format tests }
|
|
procedure TestWriteReadEmptyCells_BIFF8_0;
|
|
procedure TestWriteReadEmptyCells_BIFF8_0_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_1;
|
|
procedure TestWriteReadEmptyCells_BIFF8_1_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_2;
|
|
procedure TestWriteReadEmptyCells_BIFF8_2_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_3;
|
|
procedure TestWriteReadEmptyCells_BIFF8_3_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_4;
|
|
procedure TestWriteReadEmptyCells_BIFF8_4_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_5;
|
|
procedure TestWriteReadEmptyCells_BIFF8_5_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_6;
|
|
procedure TestWriteReadEmptyCells_BIFF8_6_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_7;
|
|
procedure TestWriteReadEmptyCells_BIFF8_7_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_8;
|
|
procedure TestWriteReadEmptyCells_BIFF8_8_inv;
|
|
procedure TestWriteReadEmptyCells_BIFF8_9;
|
|
procedure TestWriteReadEmptyCells_BIFF8_9_inv;
|
|
|
|
{ OpenDocument file format tests }
|
|
procedure TestWriteReadEmptyCells_ODS_0;
|
|
procedure TestWriteReadEmptyCells_ODS_0_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_1;
|
|
procedure TestWriteReadEmptyCells_ODS_1_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_2;
|
|
procedure TestWriteReadEmptyCells_ODS_2_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_3;
|
|
procedure TestWriteReadEmptyCells_ODS_3_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_4;
|
|
procedure TestWriteReadEmptyCells_ODS_4_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_5;
|
|
procedure TestWriteReadEmptyCells_ODS_5_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_6;
|
|
procedure TestWriteReadEmptyCells_ODS_6_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_7;
|
|
procedure TestWriteReadEmptyCells_ODS_7_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_8;
|
|
procedure TestWriteReadEmptyCells_ODS_8_inv;
|
|
procedure TestWriteReadEmptyCells_ODS_9;
|
|
procedure TestWriteReadEmptyCells_ODS_9_inv;
|
|
|
|
{ OOXML file format tests }
|
|
procedure TestWriteReadEmptyCells_OOXML_0;
|
|
procedure TestWriteReadEmptyCells_OOXML_0_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_1;
|
|
procedure TestWriteReadEmptyCells_OOXML_1_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_2;
|
|
procedure TestWriteReadEmptyCells_OOXML_2_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_3;
|
|
procedure TestWriteReadEmptyCells_OOXML_3_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_4;
|
|
procedure TestWriteReadEmptyCells_OOXML_4_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_5;
|
|
procedure TestWriteReadEmptyCells_OOXML_5_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_6;
|
|
procedure TestWriteReadEmptyCells_OOXML_6_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_7;
|
|
procedure TestWriteReadEmptyCells_OOXML_7_inv;
|
|
procedure TestWriteReadEmptyCells_OOXML_8;
|
|
procedure TestWriteReadEmptyCells_OOXML_8_inv;
|
|
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
|
|
|
|
const
|
|
EmptyCellsSheet = 'EmptyCells';
|
|
|
|
procedure InitSollLayouts;
|
|
begin
|
|
SollLayoutStrings[0] := 'x x|'+
|
|
' |'+
|
|
' ox |'+
|
|
' |'+
|
|
'x x|';
|
|
|
|
SollLayoutStrings[1] := 'xx xx |'+
|
|
' xx xx|'+
|
|
'xx xx |';
|
|
|
|
SollLayoutStrings[2] := 'xxooxxoo|'+
|
|
'ooxxooxx|'+
|
|
'xxooxxoo|';
|
|
|
|
SollLayoutStrings[3] := ' |'+
|
|
'xxxxxxxx|'+
|
|
' |';
|
|
|
|
SollLayoutStrings[4] := ' |'+
|
|
'xxxxxxxx';
|
|
|
|
SollLayoutStrings[5] := 'xxxxxxxx|'+
|
|
' |'+
|
|
' ';
|
|
|
|
SollLayoutStrings[6] := 'xxxxxxxx|'+
|
|
' x x |'+
|
|
' |';
|
|
|
|
SollLayoutStrings[7] := ' |'+
|
|
' |'+
|
|
' xx |'+
|
|
' xx |';
|
|
|
|
SollLayoutStrings[8] := ' |'+
|
|
' |'+
|
|
' x x |'+
|
|
' x x |';
|
|
|
|
SollLayoutStrings[9] := 'oooooooo|'+
|
|
'oooooooo|'+
|
|
'oooxoxoo|'+
|
|
' x x |';
|
|
|
|
end;
|
|
|
|
|
|
{ TSpreadWriteReadEmptyCellTests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.SetUp;
|
|
begin
|
|
inherited SetUp;
|
|
InitSollLayouts;
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TearDown;
|
|
begin
|
|
inherited TearDown;
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells(
|
|
AFormat: TsSpreadsheetFormat; ALayout: Integer; AInverted: Boolean);
|
|
const
|
|
CELLTEXT = 'x';
|
|
var
|
|
MyWorksheet: TsWorksheet;
|
|
MyWorkbook: TsWorkbook;
|
|
row, col: Integer;
|
|
MyCell: PCell;
|
|
TempFile: string; //write xls/xml to this file and read back from it
|
|
L: TStringList;
|
|
s: String;
|
|
|
|
function FixODS(s: String): String;
|
|
// In this test, ODS cannot distinguish between a blank and a nonexisting cell
|
|
var
|
|
i: Integer;
|
|
begin
|
|
Result := s;
|
|
for i := 1 to Length(Result) do
|
|
if Result[i] = 'o' then begin
|
|
if AInverted then Result[i] := 'x' else Result[i] := ' ';
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
TempFile := GetTempFileName;
|
|
|
|
L := TStringList.Create;
|
|
try
|
|
L.Delimiter := '|';
|
|
L.StrictDelimiter := true;
|
|
L.DelimitedText := SollLayoutStrings[ALayout];
|
|
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkSheet:= MyWorkBook.AddWorksheet(EmptyCellsSheet);
|
|
|
|
// Write out cells
|
|
// 'x' --> write label cell
|
|
// 'o' --> write blank cell
|
|
// ' ' --> do not write a cell
|
|
for row := 0 to L.Count-1 do begin
|
|
s := L[row];
|
|
for col := 0 to Length(s)-1 do begin
|
|
if AInverted then begin
|
|
if s[col+1] = ' ' then s[col+1] := 'x'
|
|
else
|
|
if s[col+1] = 'x' then s[col+1] := ' ';
|
|
end;
|
|
if s[col+1] = 'x' then
|
|
MyWorksheet.WriteText(row, col, CELLTEXT)
|
|
else
|
|
if s[col+1] = 'o' then
|
|
MyWorksheet.WriteBlank(row, col);
|
|
end;
|
|
end;
|
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
|
finally
|
|
MyWorkbook.Free;
|
|
end;
|
|
|
|
// Open the spreadsheet
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
|
if AFormat = sfExcel2 then
|
|
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
|
else
|
|
MyWorksheet := GetWorksheetByName(MyWorkBook, EmptyCellsSheet);
|
|
if MyWorksheet=nil then
|
|
fail('Error in test code. Failed to get named worksheet');
|
|
|
|
for row := 0 to MyWorksheet.GetLastRowIndex do begin
|
|
SetLength(s, MyWorksheet.GetLastColIndex + 1);
|
|
for col := 0 to MyWorksheet.GetLastColIndex do begin
|
|
MyCell := MyWorksheet.FindCell(row, col);
|
|
if MyCell = nil then
|
|
s[col+1] := ' '
|
|
else
|
|
if MyCell^.ContentType = cctEmpty then
|
|
s[col+1] := 'o'
|
|
else
|
|
s[col+1] := 'x';
|
|
if AInverted then begin
|
|
if s[col+1] = ' ' then s[col+1] := 'x'
|
|
else
|
|
if s[col+1] = 'x' then s[col+1] := ' ';
|
|
end;
|
|
end;
|
|
if AInverted then
|
|
while Length(s) < Length(L[row]) do s := s + 'x'
|
|
else
|
|
while Length(s) < Length(L[row]) do s := s + ' ';
|
|
if AFormat = sfOpenDocument then
|
|
CheckEquals(FixODS(L[row]), s,
|
|
'Test empty cell layout mismatch, cell '+CellNotation(MyWorksheet, Row, Col))
|
|
else
|
|
CheckEquals(L[row], s,
|
|
'Test empty cell layout mismatch, cell '+CellNotation(MyWorksheet, Row, Col));
|
|
end;
|
|
finally
|
|
MyWorkbook.Free;
|
|
DeleteFile(TempFile);
|
|
end;
|
|
|
|
finally
|
|
L.Free;
|
|
end;
|
|
end;
|
|
|
|
{ BIFF2 tests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_0;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 0, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_0_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 0, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_1;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 1, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_1_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 1, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_2;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 2, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_2_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 2, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_3;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 3, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_3_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 3, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_4;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 4, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_4_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 4, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_5;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 5, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_5_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 5, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_6;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 6, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_6_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 6, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_7;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 7, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_7_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 7, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_8;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 8, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_8_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 8, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_9;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 9, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF2_9_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel2, 9, true);
|
|
end;
|
|
|
|
|
|
{ BIFF5 tests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_0;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 0, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_0_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 0, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_1;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 1, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_1_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 1, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_2;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 2, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_2_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 2, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_3;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 3, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_3_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 3, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_4;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 4, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_4_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 4, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_5;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 5, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_5_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 5, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_6;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 6, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_6_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 6, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_7;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 7, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_7_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 7, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_8;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 8, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_8_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 8, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_9;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 9, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF5_9_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel5, 9, true);
|
|
end;
|
|
|
|
|
|
{ BIFF8 tests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_0;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 0, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_0_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 0, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_1;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 1, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_1_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 1, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_2;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 2, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_2_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 2, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_3;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 3, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_3_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 3, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_4;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 4, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_4_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 4, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_5;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 5, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_5_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 5, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_6;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 6, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_6_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 6, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_7;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 7, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_7_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 7, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_8;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 8, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_8_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 8, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_9;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 9, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_BIFF8_9_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfExcel8, 9, true);
|
|
end;
|
|
|
|
|
|
{ OpenDocument tests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_0;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 0, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_0_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 0, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_1;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 1, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_1_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 1, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_2;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 2, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_2_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 2, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_3;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 3, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_3_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 3, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_4;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 4, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_4_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 4, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_5;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 5, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_5_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 5, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_6;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 6, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_6_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 6, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_7;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 7, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_7_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 7, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_8;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 8, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_8_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 8, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_9;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 9, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_ODS_9_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOpenDocument, 9, true);
|
|
end;
|
|
|
|
|
|
{ OOXML tests }
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_0;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 0, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_0_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 0, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_1;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 1, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_1_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 1, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_2;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 2, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_2_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 2, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_3;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 3, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_3_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 3, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_4;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 4, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_4_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 4, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_5;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 5, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_5_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 5, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_6;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 6, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_6_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 6, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_7;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 7, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_7_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 7, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_8;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 8, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_8_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 8, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_9;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 9, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadEmptyCellTests.TestWriteReadEmptyCells_OOXML_9_inv;
|
|
begin
|
|
TestWriteReadEmptyCells(sfOOXML, 9, true);
|
|
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;
|
|
|
|
end.
|
|
|