
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8094 8e941d3f-bd1b-0410-a28a-d453659cc2b4
563 lines
16 KiB
ObjectPascal
563 lines
16 KiB
ObjectPascal
unit optiontests;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
{ Tests for spreadsheet options
|
|
This unit tests 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 {and a project requirement for lclbase for utf8 handling},
|
|
testsutility;
|
|
|
|
type
|
|
{ TSpreadWriteReadOptionTests }
|
|
//Write to xls/xml file and read back
|
|
TSpreadWriteReadOptionsTests = class(TTestCase)
|
|
private
|
|
protected
|
|
// Set up expected values:
|
|
procedure SetUp; override;
|
|
procedure TearDown; override;
|
|
procedure TestWriteReadPanes(AFormat: TsSpreadsheetFormat;
|
|
ALeftPaneWidth, ATopPaneHeight: Integer);
|
|
procedure TestWriteReadGridHeaders(AFormat: TsSpreadsheetFormat;
|
|
AShowGridLines, AShowHeaders: Boolean);
|
|
procedure TestWriteReadHiddenSheet(AFormat: TsSpreadsheetFormat);
|
|
|
|
published
|
|
// Writes out sheet options & reads back.
|
|
|
|
{ BIFF2 tests }
|
|
procedure TestWriteRead_BIFF2_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF2_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_BIFF2_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF2_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_BIFF2_Panes_HorVert;
|
|
procedure TestWriteRead_BIFF2_Panes_Hor;
|
|
procedure TestWriteRead_BIFF2_Panes_Vert;
|
|
procedure TestWriteRead_BIFF2_Panes_None;
|
|
|
|
{ BIFF5 tests }
|
|
procedure TestWriteRead_BIFF5_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF5_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_BIFF5_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF5_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_BIFF5_Panes_HorVert;
|
|
procedure TestWriteRead_BIFF5_Panes_Hor;
|
|
procedure TestWriteRead_BIFF5_Panes_Vert;
|
|
procedure TestWriteRead_BIFF5_Panes_None;
|
|
|
|
procedure TestWriteRead_BIFF5_HiddenSheet;
|
|
|
|
{ BIFF8 tests }
|
|
procedure TestWriteRead_BIFF8_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF8_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_BIFF8_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_BIFF8_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_BIFF8_Panes_HorVert;
|
|
procedure TestWriteRead_BIFF8_Panes_Hor;
|
|
procedure TestWriteRead_BIFF8_Panes_Vert;
|
|
procedure TestWriteRead_BIFF8_Panes_None;
|
|
|
|
procedure TestWriteRead_BIFF8_HiddenSheet;
|
|
|
|
{ ODS tests }
|
|
procedure TestWriteRead_ODS_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_ODS_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_ODS_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_ODS_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_ODS_Panes_HorVert;
|
|
procedure TestWriteRead_ODS_Panes_Hor;
|
|
procedure TestWriteRead_ODS_Panes_Vert;
|
|
procedure TestWriteRead_ODS_Panes_None;
|
|
|
|
procedure TestWriteRead_ODS_HiddenSheet;
|
|
|
|
{ OOXML tests }
|
|
procedure TestWriteRead_OOXML_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_OOXML_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_OOXML_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_OOXML_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_OOXML_Panes_HorVert;
|
|
procedure TestWriteRead_OOXML_Panes_Hor;
|
|
procedure TestWriteRead_OOXML_Panes_Vert;
|
|
procedure TestWriteRead_OOXML_Panes_None;
|
|
|
|
procedure TestWriteRead_OOXML_HiddenSheet;
|
|
|
|
{ Excel 2003/XML tests }
|
|
procedure TestWriteRead_XML_ShowGridLines_ShowHeaders;
|
|
procedure TestWriteRead_XML_ShowGridLines_HideHeaders;
|
|
procedure TestWriteRead_XML_HideGridLines_ShowHeaders;
|
|
procedure TestWriteRead_XML_HideGridLines_HideHeaders;
|
|
|
|
procedure TestWriteRead_XML_Panes_HorVert;
|
|
procedure TestWriteRead_XML_Panes_Hor;
|
|
procedure TestWriteRead_XML_Panes_Vert;
|
|
procedure TestWriteRead_XML_Panes_None;
|
|
|
|
procedure TestWriteRead_XML_HiddenSheet;
|
|
|
|
end;
|
|
|
|
implementation
|
|
|
|
const
|
|
OptionsSheet = 'Options';
|
|
|
|
{ TSpreadWriteReadOptions }
|
|
|
|
procedure TSpreadWriteReadOptionsTests.SetUp;
|
|
begin
|
|
inherited SetUp;
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TearDown;
|
|
begin
|
|
inherited TearDown;
|
|
end;
|
|
|
|
{ Test for grid lines and sheet headers }
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteReadGridHeaders(AFormat: TsSpreadsheetFormat;
|
|
AShowGridLines, AShowHeaders: Boolean);
|
|
var
|
|
MyWorksheet: TsWorksheet;
|
|
MyWorkbook: TsWorkbook;
|
|
TempFile: string; //write xls/xml to this file and read back from it
|
|
begin
|
|
TempFile := GetTempFileName;
|
|
{// Not needed: use workbook.writetofile with overwrite=true
|
|
if fileexists(TempFile) then
|
|
DeleteFile(TempFile);
|
|
}
|
|
|
|
// Write out show/hide grid lines/sheet headers
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkSheet:= MyWorkBook.AddWorksheet(OptionsSheet);
|
|
if AShowGridLines then
|
|
MyWorksheet.Options := MyWorksheet.Options + [soShowGridLines]
|
|
else
|
|
MyWorksheet.Options := MyWorksheet.Options - [soShowGridLines];
|
|
if AShowHeaders then
|
|
MyWorksheet.Options := MyWorksheet.Options + [soShowHeaders]
|
|
else
|
|
MyWorksheet.Options := MyWorksheet.Options - [soShowHeaders];
|
|
|
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
|
finally
|
|
MyWorkbook.Free;
|
|
end;
|
|
|
|
// Read back presence of grid lines/sheet headers
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
|
if AFormat = sfExcel2 then
|
|
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
|
else
|
|
MyWorksheet := GetWorksheetByName(MyWorkBook, OptionsSheet);
|
|
if MyWorksheet=nil then
|
|
fail('Error in test code. Failed to get named worksheet');
|
|
CheckEquals(soShowGridLines in MyWorksheet.Options, AShowGridLines,
|
|
'Test saved show grid lines mismatch');
|
|
CheckEquals(soShowHeaders in MyWorksheet.Options, AShowHeaders,
|
|
'Test saved show headers mismatch');
|
|
finally
|
|
MyWorkbook.Free;
|
|
DeleteFile(TempFile);
|
|
end;
|
|
end;
|
|
|
|
{ Tests for BIFF2 grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel2, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel2, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel2, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel2, false, false);
|
|
end;
|
|
|
|
{ Tests for BIFF5 grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel5, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel5, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel5, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel5, false, false);
|
|
end;
|
|
|
|
{ Tests for BIFF8 grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel8, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel8, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel8, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcel8, false, false);
|
|
end;
|
|
|
|
{ Tests for ODS grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOpenDocument, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOpenDocument, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOpenDocument, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOpenDocument, false, false);
|
|
end;
|
|
|
|
{ Tests for OOXML grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOOXML, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOOXML, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOOXML, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfOOXML, false, false);
|
|
end;
|
|
|
|
|
|
{ Tests for Excel2003/XML grid lines and/or headers }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_ShowGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcelXML, true, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_ShowGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcelXML, true, false);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_HideGridLines_ShowHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcelXML, false, true);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_HideGridLines_HideHeaders;
|
|
begin
|
|
TestWriteReadGridHeaders(sfExcelXML, false, false);
|
|
end;
|
|
|
|
|
|
{ Test for frozen panes }
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteReadPanes(AFormat: TsSpreadsheetFormat;
|
|
ALeftPaneWidth, ATopPaneHeight: Integer);
|
|
var
|
|
MyWorksheet: TsWorksheet;
|
|
MyWorkbook: TsWorkbook;
|
|
TempFile: string; //write xls/xml to this file and read back from it
|
|
begin
|
|
TempFile := GetTempFileName;
|
|
{// Not needed: use workbook.writetofile with overwrite=true
|
|
if fileexists(TempFile) then
|
|
DeleteFile(TempFile);
|
|
}
|
|
|
|
// Write out pane sizes
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkSheet:= MyWorkBook.AddWorksheet(OptionsSheet);
|
|
MyWorksheet.LeftPaneWidth := ALeftPaneWidth;
|
|
MyWorksheet.TopPaneHeight := ATopPaneHeight;
|
|
MyWorksheet.Options := MyWorksheet.Options + [soHasFrozenPanes];
|
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
|
finally
|
|
MyWorkbook.Free;
|
|
end;
|
|
|
|
// Read back pane sizes
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
|
if AFormat = sfExcel2 then
|
|
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
|
else
|
|
MyWorksheet := GetWorksheetByName(MyWorkBook, OptionsSheet);
|
|
if MyWorksheet=nil then
|
|
fail('Error in test code. Failed to get named worksheet');
|
|
CheckEquals(
|
|
(AleftPaneWidth > 0) or (ATopPaneHeight > 0),
|
|
(soHasFrozenPanes in MyWorksheet.Options)
|
|
and ((MyWorksheet.LeftPaneWidth > 0) or (MyWorksheet.TopPaneHeight > 0)),
|
|
'Test saved frozen panes mismatch');
|
|
CheckEquals(ALeftPaneWidth, MyWorksheet.LeftPaneWidth,
|
|
'Test saved left pane width mismatch');
|
|
CheckEquals(ATopPaneHeight, MyWorksheet.TopPaneHeight,
|
|
'Test save top pane height mismatch');
|
|
finally
|
|
MyWorkbook.Free;
|
|
DeleteFile(TempFile);
|
|
end;
|
|
end;
|
|
|
|
{ Tests for BIFF2 frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel2, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfExcel2, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel2, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF2_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfExcel2, 0, 0);
|
|
end;
|
|
|
|
|
|
{ Tests for BIFF5 frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel5, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfExcel5, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel5, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF5_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfExcel5, 0, 0);
|
|
end;
|
|
|
|
{ Tests for BIFF8 frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel8, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfExcel8, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfExcel8, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_BIFF8_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfExcel8, 0, 0);
|
|
end;
|
|
|
|
{ Tests for ODS frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfOpenDocument, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfOpenDocument, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfOpenDocument, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_ODS_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfOpenDocument, 0, 0);
|
|
end;
|
|
|
|
{ Tests for OOXML frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfOOXML, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfOOXML, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfOOXML, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_OOXML_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfOOXML, 0, 0);
|
|
end;
|
|
|
|
|
|
{ Tests for Excel 2003/XML frozen panes }
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_Panes_HorVert;
|
|
begin
|
|
TestWriteReadPanes(sfExcelXML, 1, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_Panes_Hor;
|
|
begin
|
|
TestWriteReadPanes(sfExcelXML, 1, 0);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_Panes_Vert;
|
|
begin
|
|
TestWriteReadPanes(sfExcelXML, 0, 2);
|
|
end;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_Panes_None;
|
|
begin
|
|
TestWriteReadPanes(sfExcelXML, 0, 0);
|
|
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;
|
|
|
|
procedure TSpreadWriteReadOptionsTests.TestWriteRead_XML_HiddenSheet;
|
|
begin
|
|
TestWriteReadHiddenSheet(sfExcelXML);
|
|
end;
|
|
|
|
|
|
initialization
|
|
RegisterTest(TSpreadWriteReadOptionsTests);
|
|
|
|
end.
|
|
|