diff --git a/components/fpspreadsheet/fpsopendocument.pas b/components/fpspreadsheet/fpsopendocument.pas index 1eae86a65..ec3b6fb85 100755 --- a/components/fpspreadsheet/fpsopendocument.pas +++ b/components/fpspreadsheet/fpsopendocument.pas @@ -992,7 +992,7 @@ begin FPageLayoutList.Add(data); end else - if (nodeName = 'style:header-style') or (nodeName = 'style:footer.style') + if (nodeName = 'style:header-style') or (nodeName = 'style:footer-style') then begin isHeader := nodeName = 'style:header-style'; @@ -1003,17 +1003,16 @@ begin if nodeName = 'style:header-footer-properties' then begin s := GetAttrValue(child, 'fo:min-height'); - if s <> '' then begin - h := PtsToMM(HTMLLengthStrToPts(s)); - if isHeader then - begin - data.PageLayout.HeaderMargin := data.PageLayout.TopMargin; - data.PageLayout.TopMargin := data.PageLayout.HeaderMargin + h; - end else - begin - data.PageLayout.FooterMargin := data.PageLayout.BottomMargin; - data.PageLayout.BottomMargin := data.PageLayout.FooterMargin + h; - end; + if s <> '' then + h := PtsToMM(HTMLLengthStrToPts(s)) else h := 0; + if isHeader then + begin + data.PageLayout.HeaderMargin := data.PageLayout.TopMargin; + data.PageLayout.TopMargin := data.PageLayout.HeaderMargin + h; + end else + begin + data.PageLayout.FooterMargin := data.PageLayout.BottomMargin; + data.PageLayout.BottomMargin := data.PageLayout.FooterMargin + h; end; end; child := child.NextSibling; @@ -3116,6 +3115,7 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream); i: Integer; hasHeader, hasFooter: Boolean; topmargin, bottommargin: Double; + h: Double; begin hasHeader := false; hasFooter := false; @@ -3181,15 +3181,18 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream); pageLayoutStr := pageLayoutStr + 'style:print="' + options + '" '; + h := PtsToMM(FWorkbook.GetDefaultFontSize); + if hasHeader then headerStyleStr := Format( ''+ ''+ '', [ - APageLayout.TopMargin - APageLayout.HeaderMargin], FPointSeparatorSettings) + APageLayout.TopMargin - APageLayout.HeaderMargin, + APageLayout.TopMargin - APageLayout.HeaderMargin - h], FPointSeparatorSettings) else headerStyleStr := ''; @@ -3198,10 +3201,11 @@ procedure TsSpreadOpenDocWriter.WriteAutomaticStyles(AStream: TStream); ''+ ''+ '', [ - APageLayout.BottomMargin - APageLayout.FooterMargin], FPointSeparatorSettings) + APageLayout.BottomMargin - APageLayout.FooterMargin, + APageLayout.BottomMargin - APageLayout.FooterMargin - h], FPointSeparatorSettings) else footerStyleStr := ''; diff --git a/components/fpspreadsheet/tests/pagelayouttests.pas b/components/fpspreadsheet/tests/pagelayouttests.pas new file mode 100644 index 000000000..5411dc7cc --- /dev/null +++ b/components/fpspreadsheet/tests/pagelayouttests.pas @@ -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. + diff --git a/components/fpspreadsheet/tests/spreadtestgui.lpi b/components/fpspreadsheet/tests/spreadtestgui.lpi index b814e593b..96a83295e 100644 --- a/components/fpspreadsheet/tests/spreadtestgui.lpi +++ b/components/fpspreadsheet/tests/spreadtestgui.lpi @@ -40,7 +40,7 @@ - + @@ -48,17 +48,14 @@ - - - @@ -71,12 +68,10 @@ - - @@ -85,7 +80,6 @@ - @@ -94,7 +88,6 @@ - @@ -104,7 +97,6 @@ - @@ -121,7 +113,6 @@ - @@ -130,7 +121,6 @@ - @@ -139,18 +129,19 @@ - - - + + + + diff --git a/components/fpspreadsheet/tests/spreadtestgui.lpr b/components/fpspreadsheet/tests/spreadtestgui.lpr index 3ca867e04..0d6c7d347 100644 --- a/components/fpspreadsheet/tests/spreadtestgui.lpr +++ b/components/fpspreadsheet/tests/spreadtestgui.lpr @@ -13,7 +13,7 @@ uses optiontests, numformatparsertests, formulatests, rpnFormulaUnit, emptycelltests, errortests, virtualmodetests, insertdeletetests, celltypetests, sortingtests, copytests, enumeratortests, commenttests, - hyperlinktests; + hyperlinktests, pagelayouttests; begin {$IFDEF HEAPTRC}