fpspreadsheet: Add pagelayout testcases for page margins.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4111 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2015-05-03 21:41:27 +00:00
parent f2f610ffbd
commit 48eaf9d6a0
4 changed files with 560 additions and 31 deletions

View File

@ -992,7 +992,7 @@ begin
FPageLayoutList.Add(data); FPageLayoutList.Add(data);
end else end else
if (nodeName = 'style:header-style') or (nodeName = 'style:footer.style') if (nodeName = 'style:header-style') or (nodeName = 'style:footer-style')
then then
begin begin
isHeader := nodeName = 'style:header-style'; isHeader := nodeName = 'style:header-style';
@ -1003,17 +1003,16 @@ begin
if nodeName = 'style:header-footer-properties' then if nodeName = 'style:header-footer-properties' then
begin begin
s := GetAttrValue(child, 'fo:min-height'); s := GetAttrValue(child, 'fo:min-height');
if s <> '' then begin if s <> '' then
h := PtsToMM(HTMLLengthStrToPts(s)); h := PtsToMM(HTMLLengthStrToPts(s)) else h := 0;
if isHeader then if isHeader then
begin begin
data.PageLayout.HeaderMargin := data.PageLayout.TopMargin; data.PageLayout.HeaderMargin := data.PageLayout.TopMargin;
data.PageLayout.TopMargin := data.PageLayout.HeaderMargin + h; data.PageLayout.TopMargin := data.PageLayout.HeaderMargin + h;
end else end else
begin begin
data.PageLayout.FooterMargin := data.PageLayout.BottomMargin; data.PageLayout.FooterMargin := data.PageLayout.BottomMargin;
data.PageLayout.BottomMargin := data.PageLayout.FooterMargin + h; data.PageLayout.BottomMargin := data.PageLayout.FooterMargin + h;
end;
end; end;
end; end;
child := child.NextSibling; child := child.NextSibling;
@ -3116,6 +3115,7 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream);
i: Integer; i: Integer;
hasHeader, hasFooter: Boolean; hasHeader, hasFooter: Boolean;
topmargin, bottommargin: Double; topmargin, bottommargin: Double;
h: Double;
begin begin
hasHeader := false; hasHeader := false;
hasFooter := false; hasFooter := false;
@ -3181,15 +3181,18 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream);
pageLayoutStr := pageLayoutStr + 'style:print="' + options + '" '; pageLayoutStr := pageLayoutStr + 'style:print="' + options + '" ';
h := PtsToMM(FWorkbook.GetDefaultFontSize);
if hasHeader then if hasHeader then
headerStyleStr := Format( headerStyleStr := Format(
'<style:header-style>'+ '<style:header-style>'+
'<style:header-footer-properties ' + '<style:header-footer-properties ' +
'fo:margin-left="0mm" fo:margin-right="0mm" '+ 'fo:margin-left="0mm" fo:margin-right="0mm" '+
'fo:min-height="%.2fmm" '+ 'fo:min-height="%.2fmm" fo:margin-bottom="%.2fmm" '+
'/>'+ '/>'+
'</style:header-style>', [ '</style:header-style>', [
APageLayout.TopMargin - APageLayout.HeaderMargin], FPointSeparatorSettings) APageLayout.TopMargin - APageLayout.HeaderMargin,
APageLayout.TopMargin - APageLayout.HeaderMargin - h], FPointSeparatorSettings)
else else
headerStyleStr := ''; headerStyleStr := '';
@ -3198,10 +3201,11 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream);
'<style:footer-style>'+ '<style:footer-style>'+
'<style:header-footer-properties ' + '<style:header-footer-properties ' +
'fo:margin-left="0mm" fo:margin-right="0mm" '+ 'fo:margin-left="0mm" fo:margin-right="0mm" '+
'fo:min-height="%.2fmm" '+ 'fo:min-height="%.2fmm" fo:margin-top="%.2fmm" '+
'/>'+ '/>'+
'</style:footer-style>', [ '</style:footer-style>', [
APageLayout.BottomMargin - APageLayout.FooterMargin], FPointSeparatorSettings) APageLayout.BottomMargin - APageLayout.FooterMargin,
APageLayout.BottomMargin - APageLayout.FooterMargin - h], FPointSeparatorSettings)
else else
footerStyleStr := ''; footerStyleStr := '';

View File

@ -0,0 +1,534 @@
{ PageLayout tests
These unit tests are writing out to and reading back from file.
}
unit pagelayouttests;
{$mode objfpc}{$H+}
interface
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, xlsbiff8 {and a project requirement for lclbase for utf8 handling},
testsutility;
type
{ TSpreadWriteReadHyperlinkTests }
//Write to xls/xml file and read back
TSpreadWriteReadPageLayoutTests = class(TTestCase)
private
protected
// Set up expected values:
procedure SetUp; override;
procedure TearDown; override;
procedure TestWriteRead_PageMargins(AFormat: TsSpreadsheetFormat; ANumSheets, AHeaderFooterMode: Integer);
published
{ BIFF2 page layout tests }
procedure TestWriteRead_PageMargins_BIFF2_1sheet_0;
procedure TestWriteRead_PageMargins_BIFF2_1sheet_1;
procedure TestWriteRead_PageMargins_BIFF2_1sheet_2;
procedure TestWriteRead_PageMargins_BIFF2_1sheet_3;
procedure TestWriteRead_PageMargins_BIFF2_2sheets_0;
procedure TestWriteRead_PageMargins_BIFF2_2sheets_1;
procedure TestWriteRead_PageMargins_BIFF2_2sheets_2;
procedure TestWriteRead_PageMargins_BIFF2_2sheets_3;
procedure TestWriteRead_PageMargins_BIFF2_3sheets_0;
procedure TestWriteRead_PageMargins_BIFF2_3sheets_1;
procedure TestWriteRead_PageMargins_BIFF2_3sheets_2;
procedure TestWriteRead_PageMargins_BIFF2_3sheets_3;
{ BIFF5 page layout tests }
procedure TestWriteRead_PageMargins_BIFF5_1sheet_0;
procedure TestWriteRead_PageMargins_BIFF5_1sheet_1;
procedure TestWriteRead_PageMargins_BIFF5_1sheet_2;
procedure TestWriteRead_PageMargins_BIFF5_1sheet_3;
procedure TestWriteRead_PageMargins_BIFF5_2sheets_0;
procedure TestWriteRead_PageMargins_BIFF5_2sheets_1;
procedure TestWriteRead_PageMargins_BIFF5_2sheets_2;
procedure TestWriteRead_PageMargins_BIFF5_2sheets_3;
procedure TestWriteRead_PageMargins_BIFF5_3sheets_0;
procedure TestWriteRead_PageMargins_BIFF5_3sheets_1;
procedure TestWriteRead_PageMargins_BIFF5_3sheets_2;
procedure TestWriteRead_PageMargins_BIFF5_3sheets_3;
{ BIFF8 page layout tests }
procedure TestWriteRead_PageMargins_BIFF8_1sheet_0;
procedure TestWriteRead_PageMargins_BIFF8_1sheet_1;
procedure TestWriteRead_PageMargins_BIFF8_1sheet_2;
procedure TestWriteRead_PageMargins_BIFF8_1sheet_3;
procedure TestWriteRead_PageMargins_BIFF8_2sheets_0;
procedure TestWriteRead_PageMargins_BIFF8_2sheets_1;
procedure TestWriteRead_PageMargins_BIFF8_2sheets_2;
procedure TestWriteRead_PageMargins_BIFF8_2sheets_3;
procedure TestWriteRead_PageMargins_BIFF8_3sheets_0;
procedure TestWriteRead_PageMargins_BIFF8_3sheets_1;
procedure TestWriteRead_PageMargins_BIFF8_3sheets_2;
procedure TestWriteRead_PageMargins_BIFF8_3sheets_3;
{ OOXML page layout tests }
procedure TestWriteRead_PageMargins_OOXML_1sheet_0;
procedure TestWriteRead_PageMargins_OOXML_1sheet_1;
procedure TestWriteRead_PageMargins_OOXML_1sheet_2;
procedure TestWriteRead_PageMargins_OOXML_1sheet_3;
procedure TestWriteRead_PageMargins_OOXML_2sheets_0;
procedure TestWriteRead_PageMargins_OOXML_2sheets_1;
procedure TestWriteRead_PageMargins_OOXML_2sheets_2;
procedure TestWriteRead_PageMargins_OOXML_2sheets_3;
procedure TestWriteRead_PageMargins_OOXML_3sheets_0;
procedure TestWriteRead_PageMargins_OOXML_3sheets_1;
procedure TestWriteRead_PageMargins_OOXML_3sheets_2;
procedure TestWriteRead_PageMargins_OOXML_3sheets_3;
{ OpenDocument page layout tests }
procedure TestWriteRead_PageMargins_ODS_1sheet_0;
procedure TestWriteRead_PageMargins_ODS_1sheet_1;
procedure TestWriteRead_PageMargins_ODS_1sheet_2;
procedure TestWriteRead_PageMargins_ODS_1sheet_3;
procedure TestWriteRead_PageMargins_ODS_2sheets_0;
procedure TestWriteRead_PageMargins_ODS_2sheets_1;
procedure TestWriteRead_PageMargins_ODS_2sheets_2;
procedure TestWriteRead_PageMargins_ODS_2sheets_3;
procedure TestWriteRead_PageMargins_ODS_3sheets_0;
procedure TestWriteRead_PageMargins_ODS_3sheets_1;
procedure TestWriteRead_PageMargins_ODS_3sheets_2;
procedure TestWriteRead_PageMargins_ODS_3sheets_3;
end;
implementation
uses
uriparser, lazfileutils, fpsutils;
const
PageLayoutSheet = 'PageLayout';
{ TSpreadWriteReadPageLayoutTests }
procedure TSpreadWriteReadPageLayoutTests.SetUp;
begin
inherited SetUp;
end;
procedure TSpreadWriteReadPageLayoutTests.TearDown;
begin
inherited TearDown;
end;
{ AHeaderFooterMode = 0 ... no header, no footer
1 ... header, no footer
2 ... no header, footer
3 ... header, footer }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins(
AFormat: TsSpreadsheetFormat; ANumSheets, AHeaderFooterMode: Integer);
var
MyWorksheet: TsWorksheet;
MyWorkbook: TsWorkbook;
row, col, p: Integer;
sollPageLayout, actualPageLayout: TsPageLayout;
expected, actual: String;
cell: PCell;
TempFile: string; //write xls/xml to this file and read back from it
begin
TempFile := GetTempFileName;
InitPageLayout(sollPageLayout);
with SollPageLayout do
begin
TopMargin := 20;
BottomMargin := 30;
LeftMargin := 21;
RightMargin := 22;
HeaderMargin := 10;
FooterMargin := 11;
case AHeaderFooterMode of
0: ; // header and footer already are empty strings
1: Headers[HEADER_FOOTER_INDEX_ALL] := 'Test header';
2: Footers[HEADER_FOOTER_INDEX_ALL] := 'Test footer';
3: begin
Headers[HEADER_FOOTER_INDEX_ALL] := 'Test header';
Footers[HEADER_FOOTER_INDEX_ALL] := 'Test footer';
end;
end;
end;
MyWorkbook := TsWorkbook.Create;
try
col := 0;
for p := 1 to ANumSheets do
begin
MyWorkSheet:= MyWorkBook.AddWorksheet(PageLayoutSheet+IntToStr(p));
for row := 0 to 9 do
Myworksheet.WriteNumber(row, 0, row+col*100+p*10000 );
MyWorksheet.PageLayout := SollPageLayout;
end;
MyWorkBook.WriteToFile(TempFile, AFormat, true);
finally
MyWorkbook.Free;
end;
// Open the spreadsheet
MyWorkbook := TsWorkbook.Create;
try
MyWorkbook.ReadFromFile(TempFile, AFormat);
for p := 0 to MyWorkbook.GetWorksheetCount-1 do
begin
MyWorksheet := MyWorkBook.GetWorksheetByIndex(p);
if MyWorksheet=nil then
fail('Error in test code. Failed to get worksheet by index');
actualPageLayout := MyWorksheet.PageLayout;
CheckEquals(sollPageLayout.TopMargin, actualPageLayout.TopMargin, 'Top margin mismatch, sheet "'+MyWorksheet.Name+'"');
CheckEquals(sollPageLayout.BottomMargin, actualPageLayout.Bottommargin, 'Bottom margin mismatch, sheet "'+MyWorksheet.Name+'"');
CheckEquals(sollPageLayout.LeftMargin, actualPageLayout.LeftMargin, 'Left margin mismatch, sheet "'+MyWorksheet.Name+'"');
CheckEquals(sollPageLayout.RightMargin, actualPageLayout.RightMargin, 'Right margin mismatch, sheet "'+MyWorksheet.Name+'"');
if (AFormat <> sfExcel2) then // No header/footer margin in BIFF2
begin
if AHeaderFooterMode in [1, 3] then
CheckEquals(sollPageLayout.HeaderMargin, actualPageLayout.HeaderMargin, 'Header margin mismatch, sheet "'+MyWorksheet.Name+'"');
if AHeaderFooterMode in [2, 3] then
CheckEquals(sollPageLayout.FooterMargin, actualPageLayout.FooterMargin, 'Footer margin mismatch, sheet "'+MyWorksheet.Name+'"');
end;
end;
finally
MyWorkbook.Free;
DeleteFile(TempFile);
end;
end;
{ Tests for BIFF8 file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_1sheet_0;
begin
TestWriteRead_PageMargins(sfExcel2, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_1sheet_1;
begin
TestWriteRead_PageMargins(sfExcel2, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_1sheet_2;
begin
TestWriteRead_PageMargins(sfExcel2, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_1sheet_3;
begin
TestWriteRead_PageMargins(sfExcel2, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_PageMargins_BIFF2_2sheets_0;
begin
TestWriteRead_PageMargins(sfExcel2, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_2sheets_1;
begin
TestWriteRead_PageMargins(sfExcel2, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_2sheets_2;
begin
TestWriteRead_PageMargins(sfExcel2, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_2sheets_3;
begin
TestWriteRead_PageMargins(sfExcel2, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_3sheets_0;
begin
TestWriteRead_PageMargins(sfExcel2, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_3sheets_1;
begin
TestWriteRead_PageMargins(sfExcel2, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_3sheets_2;
begin
TestWriteRead_PageMargins(sfExcel2, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF2_3sheets_3;
begin
TestWriteRead_PageMargins(sfExcel2, 3, 3);
end;
{ Tests for BIFF8 file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_1sheet_0;
begin
TestWriteRead_PageMargins(sfExcel5, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_1sheet_1;
begin
TestWriteRead_PageMargins(sfExcel5, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_1sheet_2;
begin
TestWriteRead_PageMargins(sfExcel5, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_1sheet_3;
begin
TestWriteRead_PageMargins(sfExcel5, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_PageMargins_BIFF5_2sheets_0;
begin
TestWriteRead_PageMargins(sfExcel5, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_2sheets_1;
begin
TestWriteRead_PageMargins(sfExcel5, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_2sheets_2;
begin
TestWriteRead_PageMargins(sfExcel5, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_2sheets_3;
begin
TestWriteRead_PageMargins(sfExcel5, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_3sheets_0;
begin
TestWriteRead_PageMargins(sfExcel5, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_3sheets_1;
begin
TestWriteRead_PageMargins(sfExcel5, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_3sheets_2;
begin
TestWriteRead_PageMargins(sfExcel5, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF5_3sheets_3;
begin
TestWriteRead_PageMargins(sfExcel5, 3, 3);
end;
{ Tests for BIFF8 file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_1sheet_0;
begin
TestWriteRead_PageMargins(sfExcel8, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_1sheet_1;
begin
TestWriteRead_PageMargins(sfExcel8, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_1sheet_2;
begin
TestWriteRead_PageMargins(sfExcel8, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_1sheet_3;
begin
TestWriteRead_PageMargins(sfExcel8, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_PageMargins_BIFF8_2sheets_0;
begin
TestWriteRead_PageMargins(sfExcel8, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_2sheets_1;
begin
TestWriteRead_PageMargins(sfExcel8, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_2sheets_2;
begin
TestWriteRead_PageMargins(sfExcel8, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_2sheets_3;
begin
TestWriteRead_PageMargins(sfExcel8, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_3sheets_0;
begin
TestWriteRead_PageMargins(sfExcel8, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_3sheets_1;
begin
TestWriteRead_PageMargins(sfExcel8, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_3sheets_2;
begin
TestWriteRead_PageMargins(sfExcel8, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_BIFF8_3sheets_3;
begin
TestWriteRead_PageMargins(sfExcel8, 3, 3);
end;
{ Tests for OOXML file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_1sheet_0;
begin
TestWriteRead_PageMargins(sfOOXML, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_1sheet_1;
begin
TestWriteRead_PageMargins(sfOOXML, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_1sheet_2;
begin
TestWriteRead_PageMargins(sfOOXML, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_1sheet_3;
begin
TestWriteRead_PageMargins(sfOOXML, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_PageMargins_OOXML_2sheets_0;
begin
TestWriteRead_PageMargins(sfOOXML, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_2sheets_1;
begin
TestWriteRead_PageMargins(sfOOXML, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_2sheets_2;
begin
TestWriteRead_PageMargins(sfOOXML, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_2sheets_3;
begin
TestWriteRead_PageMargins(sfOOXML, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_3sheets_0;
begin
TestWriteRead_PageMargins(sfOOXML, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_3sheets_1;
begin
TestWriteRead_PageMargins(sfOOXML, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_3sheets_2;
begin
TestWriteRead_PageMargins(sfOOXML, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_OOXML_3sheets_3;
begin
TestWriteRead_PageMargins(sfOOXML, 3, 3);
end;
{ Tests for Open Document file format }
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_1sheet_0;
begin
TestWriteRead_PageMargins(sfOpenDocument, 1, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_1sheet_1;
begin
TestWriteRead_PageMargins(sfOpenDocument, 1, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_1sheet_2;
begin
TestWriteRead_PageMargins(sfOpenDocument, 1, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_1sheet_3;
begin
TestWriteRead_PageMargins(sfOpenDocument, 1, 3);
end;
procedure TSpreadWriteReadPagelayoutTests.TestWriteRead_PageMargins_ODS_2sheets_0;
begin
TestWriteRead_PageMargins(sfOpenDocument, 2, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_2sheets_1;
begin
TestWriteRead_PageMargins(sfOpenDocument, 2, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_2sheets_2;
begin
TestWriteRead_PageMargins(sfOpenDocument, 2, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_2sheets_3;
begin
TestWriteRead_PageMargins(sfOpenDocument, 2, 3);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_3sheets_0;
begin
TestWriteRead_PageMargins(sfOpenDocument, 3, 0);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_3sheets_1;
begin
TestWriteRead_PageMargins(sfOpenDocument, 3, 1);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_3sheets_2;
begin
TestWriteRead_PageMargins(sfOpenDocument, 3, 2);
end;
procedure TSpreadWriteReadPageLayoutTests.TestWriteRead_PageMargins_ODS_3sheets_3;
begin
TestWriteRead_PageMargins(sfOpenDocument, 3, 3);
end;
initialization
RegisterTest(TSpreadWriteReadPageLayoutTests);
end.

View File

@ -40,7 +40,7 @@
<PackageName Value="FCL"/> <PackageName Value="FCL"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="24"> <Units Count="25">
<Unit0> <Unit0>
<Filename Value="spreadtestgui.lpr"/> <Filename Value="spreadtestgui.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -48,17 +48,14 @@
<Unit1> <Unit1>
<Filename Value="datetests.pas"/> <Filename Value="datetests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="datetests"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="stringtests.pas"/> <Filename Value="stringtests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="stringtests"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="numberstests.pas"/> <Filename Value="numberstests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="numberstests"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="manualtests.pas"/> <Filename Value="manualtests.pas"/>
@ -71,12 +68,10 @@
<Unit6> <Unit6>
<Filename Value="internaltests.pas"/> <Filename Value="internaltests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="internaltests"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="formattests.pas"/> <Filename Value="formattests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="formattests"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="colortests.pas"/> <Filename Value="colortests.pas"/>
@ -85,7 +80,6 @@
<Unit9> <Unit9>
<Filename Value="fonttests.pas"/> <Filename Value="fonttests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="fonttests"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="optiontests.pas"/> <Filename Value="optiontests.pas"/>
@ -94,7 +88,6 @@
<Unit11> <Unit11>
<Filename Value="numformatparsertests.pas"/> <Filename Value="numformatparsertests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="numformatparsertests"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="rpnformulaunit.pas"/> <Filename Value="rpnformulaunit.pas"/>
@ -104,7 +97,6 @@
<Unit13> <Unit13>
<Filename Value="formulatests.pas"/> <Filename Value="formulatests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="formulatests"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="emptycelltests.pas"/> <Filename Value="emptycelltests.pas"/>
@ -121,7 +113,6 @@
<Unit17> <Unit17>
<Filename Value="insertdeletetests.pas"/> <Filename Value="insertdeletetests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="insertdeletetests"/>
</Unit17> </Unit17>
<Unit18> <Unit18>
<Filename Value="celltypetests.pas"/> <Filename Value="celltypetests.pas"/>
@ -130,7 +121,6 @@
<Unit19> <Unit19>
<Filename Value="sortingtests.pas"/> <Filename Value="sortingtests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="sortingtests"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
<Filename Value="copytests.pas"/> <Filename Value="copytests.pas"/>
@ -139,18 +129,19 @@
<Unit21> <Unit21>
<Filename Value="commenttests.pas"/> <Filename Value="commenttests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="commenttests"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="enumeratortests.pas"/> <Filename Value="enumeratortests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="enumeratortests"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="hyperlinktests.pas"/> <Filename Value="hyperlinktests.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="hyperlinktests"/>
</Unit23> </Unit23>
<Unit24>
<Filename Value="pagelayouttests.pas"/>
<IsPartOfProject Value="True"/>
</Unit24>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -13,7 +13,7 @@ uses
optiontests, numformatparsertests, formulatests, rpnFormulaUnit, optiontests, numformatparsertests, formulatests, rpnFormulaUnit,
emptycelltests, errortests, virtualmodetests, insertdeletetests, emptycelltests, errortests, virtualmodetests, insertdeletetests,
celltypetests, sortingtests, copytests, enumeratortests, commenttests, celltypetests, sortingtests, copytests, enumeratortests, commenttests,
hyperlinktests; hyperlinktests, pagelayouttests;
begin begin
{$IFDEF HEAPTRC} {$IFDEF HEAPTRC}