lazarus-ccr/components/fpspreadsheet/unit-tests/common/hyperlinktests.pas
2021-09-24 08:45:28 +00:00

635 lines
20 KiB
ObjectPascal

{ Hyperlink tests
These unit tests are writing out to and reading back from file.
}
unit hyperlinktests;
{$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
TSpreadWriteReadHyperlinkTests = class(TTestCase)
private
protected
// Set up expected values:
procedure SetUp; override;
procedure TearDown; override;
procedure TestWriteRead_Hyperlink(AFormat: TsSpreadsheetFormat;
ATestMode, ATooltipMode: Integer);
published
{ BIFF2 hyperlink tests - nothing to do: BIFF2 does not support hyperlinks }
{ BIFF5 hyperlink tests - nothing to do: BIFF5 does not support hyperlinks }
{ BIFF8 hyperlink tests }
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink2;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_HTTPLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_BIFF8_FileLink;
procedure TestWriteRead_Hyperlink_BIFF8_FileLink_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_FileLink_Tooltip2;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink1;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink2;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_RelFileLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_BIFF8_InternalLink;
procedure TestWriteRead_Hyperlink_BIFF8_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_BIFF8_InternalLink_Tooltip2;
{ OpenDocument hyperlink tests }
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink2;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_HTTPLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_ODS_FileLink;
procedure TestWriteRead_Hyperlink_ODS_FileLink_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_FileLink_Tooltip2;
procedure TestWriteRead_Hyperlink_ODS_RelFileLink1;
procedure TestWriteRead_Hyperlink_ODS_RelFileLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_RElFileLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_ODS_RelFileLink2;
procedure TestWriteRead_Hyperlink_ODS_RelFileLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_RelFileLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_ODS_InternalLink;
procedure TestWriteRead_Hyperlink_ODS_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_ODS_InternalLink_Tooltip2;
{ OOXML hyperlink tests }
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink2;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_HTTPLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_OOXML_FileLink;
procedure TestWriteRead_Hyperlink_OOXML_FileLink_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_FileLink_Tooltip2;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink1;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink2;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_RelFileLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_OOXML_InternalLink;
procedure TestWriteRead_Hyperlink_OOXML_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_OOXML_InternalLink_Tooltip2;
{ Excel2003/XML hyperlink tests }
procedure TestWriteRead_Hyperlink_XML_HTTPLink1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_HTTPLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_FileLink;
procedure TestWriteRead_Hyperlink_XML_FileLink_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_FileLink_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink1_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_RelFileLink2_Tooltip2;
procedure TestWriteRead_Hyperlink_XML_InternalLink;
procedure TestWriteRead_Hyperlink_XML_InternalLink_Tooltip1;
procedure TestWriteRead_Hyperlink_XML_InternalLink_Tooltip2;
end;
implementation
uses
uriparser, lazfileutils, fpsutils, fpsreaderWriter;
const
HyperlinkSheet = 'Hyperlinks';
var
SollLinks: array[0..5] of String = (
'http://wiki.lazarus.freepascal.org/Lazarus_Documentation',
'http://wiki.lazarus.freepascal.org/Lazarus_Documentation#The_Lazarus_User_Guides',
'file:///', // file link: path of test file will be added
'testbiff8_1899.xls',
'testbiff8_1899.xls#Texts!A2',
'#A10'
);
SollCellContent: array[0..3] of string = (
'',
'Label', // Label cell
'1', // Number cell
'12:00:00' // Date/time cell
);
SollTooltip: array[0..2] of String = (
'', // no tooltip
'This is the tooltip for a hyperlink.',
'<< Special characters äöüÄÖÜ >>'
);
{ TSpreadWriteReadHyperlinkTests }
procedure TSpreadWriteReadHyperlinkTests.SetUp;
var
i: Integer;
fn: String;
begin
inherited SetUp;
for i:=Low(SollLinks) to High(SollLinks) do
if SollLinks[i] = 'file:///' then
begin
fn := ExpandFileName('testbiff8_1899.xls');
FilenameToURI(fn);
SollLinks[i] := fn;
exit;
end;
end;
procedure TSpreadWriteReadHyperlinkTests.TearDown;
begin
inherited TearDown;
end;
{ Tests differ by "TestMode" (http link, file link, internal link) and usage of
tooltip (no tooltip, tootip with "normal" characters, tooltip with special
characters - "ToolTipMode"). All cells have hyperlinks based on the same
combination of TestMode and ToolTipMode, but they differ in their content
(SollCellContent): blank, string, number, date/time. }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink(
AFormat: TsSpreadsheetFormat; ATestMode, ATooltipMode: Integer);
var
MyWorksheet: TsWorksheet;
MyWorkbook: TsWorkbook;
row, col: Integer;
hyperlink: TsHyperlink;
expected, actual: String;
cell: PCell;
TempFile: string; //write xls/xml to this file and read back from it
begin
TempFile := GetTempFileName;
MyWorkbook := TsWorkbook.Create;
try
MyWorkSheet:= MyWorkBook.AddWorksheet(HyperlinkSheet);
col := 0;
for row := 0 to High(SollCellContent) do
begin
Myworksheet.WriteHyperlink(row, col, SollLinks[ATestMode], SollTooltip[AToolTipMode]);
if SollCellContent[row] <> '' then
MyWorksheet.WriteCellValueAsString(row, col, SollCellContent[row]);
end;
MyWorkBook.WriteToFile(TempFile, AFormat, true);
// To see the file in the test folder uncomment the next line
// MyWorkBook.WriteToFile(Format('hyperlink_Test_%d_%d%s', [ATestMode, AToolTipMode, GetSpreadFormatExt(ord(AFormat))]), AFormat, true);
finally
MyWorkbook.Free;
end;
// Open the spreadsheet
MyWorkbook := TsWorkbook.Create;
try
MyWorkbook.ReadFromFile(TempFile, AFormat);
MyWorksheet := GetWorksheetByName(MyWorkBook, HyperlinkSheet);
if MyWorksheet=nil then
fail('Error in test code. Failed to get named worksheet');
col := 0;
for row := 0 to High(SollCellContent) do
begin
cell := MyWorksheet.FindCell(row, col);
// Open document can attach hyperlinks only to label cells --> skip this test
if (AFormat = sfOpenDocument) and (cell^.ContentType <> cctUTF8String) then
continue;
hyperlink := MyWorksheet.ReadHyperlink(cell);
actual := hyperlink.Target;
expected := SollLinks[ATestMode];
// Make sure that the same path delimiter is used in the comparison (fps accepts both)
FixHyperlinkPathDelims(actual);
FixHyperlinkPathDelims(expected);
CheckEquals(expected, actual,
'Test saved hyperlink target, cell '+CellNotation(MyWorksheet, row, col));
actual := MyWorksheet.ReadAsText(cell);
if row = 0 then begin
// An originally blank cell shows the hyperlink.Target.
// But Worksheet.WriteHyperlink removes the "file:///" protocol
expected := hyperlink.Target;
if pos('file:', SollLinks[ATestMode])=1 then
Delete(expected, 1, Length('file:///'))
else if expected[1] = '#' then // ... and internal links are displayed without #
Delete(expected, 1, 1);
end else
expected := SollCellContent[row];
FixHyperlinkPathDelims(expected);
FixHyperlinkPathDelims(actual);
CheckEquals(expected, actual,
'Test saved hyperlink cell text, cell '+ CellNotation(MyWorksheet, row, col));
// Tooltips are not supported by ODS --> don't check
if AFormat <> sfOpenDocument then
CheckEquals(SollToolTip[AToolTipMode], hyperlink.Tooltip,
'Test saved hyperlink tooltip, cell ' + CellNotation(MyWorksheet, row, col));
end;
finally
MyWorkbook.Free;
DeleteFile(TempFile);
end;
end;
{ Tests for BIFF8 file format }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink1;
begin
TestWriteRead_Hyperlink(sfExcel8, 0, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 0, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 0, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink2;
begin
TestWriteRead_Hyperlink(sfExcel8, 1, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 1, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_HttpLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 1, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_FileLink;
begin
TestWriteRead_Hyperlink(sfExcel8, 2, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_FileLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 2, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_FileLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 2, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink1;
begin
TestWriteRead_Hyperlink(sfExcel8, 3, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 3, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 3, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink2;
begin
TestWriteRead_Hyperlink(sfExcel8, 4, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 4, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_RelFileLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 4, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_InternalLink;
begin
TestWriteRead_Hyperlink(sfExcel8, 5, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_InternalLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcel8, 5, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_BIFF8_InternalLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcel8, 5, 2);
end;
{ Tests for Open Document file format }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 0, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 0, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 0, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 1, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 1, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_HttpLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 1, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_FileLink;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 2, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_FileLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 2, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_FileLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 2, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 3, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 3, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 3, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 4, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 4, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_RelFileLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 4, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_InternalLink;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 5, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_InternalLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 5, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_ODS_InternalLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOpenDocument, 5, 2);
end;
{ Tests for OOXML file format }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink1;
begin
TestWriteRead_Hyperlink(sfOOXML, 0, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 0, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 0, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink2;
begin
TestWriteRead_Hyperlink(sfOOXML, 1, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 1, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_HttpLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 1, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_FileLink;
begin
TestWriteRead_Hyperlink(sfOOXML, 2, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_FileLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 2, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_FileLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 2, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink1;
begin
TestWriteRead_Hyperlink(sfOOXML, 3, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 3, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 3, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink2;
begin
TestWriteRead_Hyperlink(sfOOXML, 4, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 4, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_RelFileLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 4, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_InternalLink;
begin
TestWriteRead_Hyperlink(sfOOXML, 5, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_InternalLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfOOXML, 5, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_OOXML_InternalLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfOOXML, 5, 2);
end;
{ Hyperlink tests for Excel2003/XML file format }
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 0, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_HttpLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 1, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_FileLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 2, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink1_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 3, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_RelFileLink2_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 4, 2);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 0);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink_ToolTip1;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 1);
end;
procedure TSpreadWriteReadHyperlinkTests.TestWriteRead_Hyperlink_XML_InternalLink_ToolTip2;
begin
TestWriteRead_Hyperlink(sfExcelXML, 5, 2);
end;
initialization
RegisterTest(TSpreadWriteReadHyperlinkTests);
end.