You've already forked lazarus-ccr
fpspreadsheet: Add unit tests for hidden worksheets.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5776 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -27,6 +27,7 @@ type
|
|||||||
ALeftPaneWidth, ATopPaneHeight: Integer);
|
ALeftPaneWidth, ATopPaneHeight: Integer);
|
||||||
procedure TestWriteReadGridHeaders(AFormat: TsSpreadsheetFormat;
|
procedure TestWriteReadGridHeaders(AFormat: TsSpreadsheetFormat;
|
||||||
AShowGridLines, AShowHeaders: Boolean);
|
AShowGridLines, AShowHeaders: Boolean);
|
||||||
|
procedure TestWriteReadHiddenSheet(AFormat: TsSpreadsheetFormat);
|
||||||
|
|
||||||
published
|
published
|
||||||
// Writes out sheet options & reads back.
|
// Writes out sheet options & reads back.
|
||||||
@ -53,6 +54,8 @@ type
|
|||||||
procedure TestWriteRead_BIFF5_Panes_Vert;
|
procedure TestWriteRead_BIFF5_Panes_Vert;
|
||||||
procedure TestWriteRead_BIFF5_Panes_None;
|
procedure TestWriteRead_BIFF5_Panes_None;
|
||||||
|
|
||||||
|
procedure TestWriteRead_BIFF5_HiddenSheet;
|
||||||
|
|
||||||
{ BIFF8 tests }
|
{ BIFF8 tests }
|
||||||
procedure TestWriteRead_BIFF8_ShowGridLines_ShowHeaders;
|
procedure TestWriteRead_BIFF8_ShowGridLines_ShowHeaders;
|
||||||
procedure TestWriteRead_BIFF8_ShowGridLines_HideHeaders;
|
procedure TestWriteRead_BIFF8_ShowGridLines_HideHeaders;
|
||||||
@ -64,6 +67,8 @@ type
|
|||||||
procedure TestWriteRead_BIFF8_Panes_Vert;
|
procedure TestWriteRead_BIFF8_Panes_Vert;
|
||||||
procedure TestWriteRead_BIFF8_Panes_None;
|
procedure TestWriteRead_BIFF8_Panes_None;
|
||||||
|
|
||||||
|
procedure TestWriteRead_BIFF8_HiddenSheet;
|
||||||
|
|
||||||
{ ODS tests }
|
{ ODS tests }
|
||||||
procedure TestWriteRead_ODS_ShowGridLines_ShowHeaders;
|
procedure TestWriteRead_ODS_ShowGridLines_ShowHeaders;
|
||||||
procedure TestWriteRead_ODS_ShowGridLines_HideHeaders;
|
procedure TestWriteRead_ODS_ShowGridLines_HideHeaders;
|
||||||
@ -75,6 +80,8 @@ type
|
|||||||
procedure TestWriteRead_ODS_Panes_Vert;
|
procedure TestWriteRead_ODS_Panes_Vert;
|
||||||
procedure TestWriteRead_ODS_Panes_None;
|
procedure TestWriteRead_ODS_Panes_None;
|
||||||
|
|
||||||
|
procedure TestWriteRead_ODS_HiddenSheet;
|
||||||
|
|
||||||
{ OOXML tests }
|
{ OOXML tests }
|
||||||
procedure TestWriteRead_OOXML_ShowGridLines_ShowHeaders;
|
procedure TestWriteRead_OOXML_ShowGridLines_ShowHeaders;
|
||||||
procedure TestWriteRead_OOXML_ShowGridLines_HideHeaders;
|
procedure TestWriteRead_OOXML_ShowGridLines_HideHeaders;
|
||||||
@ -85,6 +92,8 @@ type
|
|||||||
procedure TestWriteRead_OOXML_Panes_Hor;
|
procedure TestWriteRead_OOXML_Panes_Hor;
|
||||||
procedure TestWriteRead_OOXML_Panes_Vert;
|
procedure TestWriteRead_OOXML_Panes_Vert;
|
||||||
procedure TestWriteRead_OOXML_Panes_None;
|
procedure TestWriteRead_OOXML_Panes_None;
|
||||||
|
|
||||||
|
procedure TestWriteRead_OOXML_HiddenSheet;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -422,6 +431,67 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadOptionsTests.TestWriteReadHiddenSheet(
|
||||||
|
AFormat: TsSpreadsheetFormat);
|
||||||
|
const
|
||||||
|
RESULTS: array[0..1] of Boolean = (false, true);
|
||||||
|
var
|
||||||
|
MyWorksheet: TsWorksheet;
|
||||||
|
MyWorkbook: TsWorkbook;
|
||||||
|
TempFile: string; //write xls/xml to this file and read back from it
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
TempFile := GetTempFileName;
|
||||||
|
|
||||||
|
// Write out pane sizes
|
||||||
|
MyWorkbook := TsWorkbook.Create;
|
||||||
|
try
|
||||||
|
MyWorkBook.AddWorksheet(OptionsSheet);
|
||||||
|
MyWorkSheet := MyWorkBook.AddWorksheet(OptionsSheet + '-hidden');
|
||||||
|
MyWorksheet.Options := myWorksheet.Options + [soHidden];
|
||||||
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
||||||
|
finally
|
||||||
|
MyWorkbook.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Read back pane sizes
|
||||||
|
MyWorkbook := TsWorkbook.Create;
|
||||||
|
try
|
||||||
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
||||||
|
for i:=0 to MyWorkbook.GetWorksheetCount-1 do begin
|
||||||
|
MyWorksheet := MyWorkbook.GetWorksheetByIndex(i);
|
||||||
|
if MyWorksheet=nil then
|
||||||
|
fail('Error in test code. Failed to get named worksheet #' + IntToStr(i));
|
||||||
|
CheckEquals(RESULTS[i], soHidden in MyWorksheet.Options,
|
||||||
|
'Test saved hidden state mismatch, sheet #' + IntToStr(i));
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
MyWorkbook.Free;
|
||||||
|
DeleteFile(TempFile);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_HiddenSheet;
|
||||||
|
begin
|
||||||
|
TestWriteReadHiddenSheet(sfExcel5);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_HiddenSheet;
|
||||||
|
begin
|
||||||
|
TestWriteReadHiddenSheet(sfExcel8);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_HiddenSheet;
|
||||||
|
begin
|
||||||
|
TestWriteReadHiddenSheet(sfOOXML);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_HiddenSheet;
|
||||||
|
begin
|
||||||
|
TestWriteReadHiddenSheet(sfOpenDocument);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterTest(TSpreadWriteReadOptionsTests);
|
RegisterTest(TSpreadWriteReadOptionsTests);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user