You've already forked lazarus-ccr
fpspreadsheet: Make ods stringtests test case ignore the string result of the ##0.0E0 format which is designed in ods to have a different result than biff; just compare the numerical value.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3129 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -175,7 +175,7 @@ begin
|
|||||||
for Row := Low(SollStrings) to High(SollStrings) do
|
for Row := Low(SollStrings) to High(SollStrings) do
|
||||||
begin
|
begin
|
||||||
ActualString:=MyWorkSheet.ReadAsUTF8Text(Row,0);
|
ActualString:=MyWorkSheet.ReadAsUTF8Text(Row,0);
|
||||||
CheckEquals(SollStrings[Row],ActualString,'Test value mismatch cell '+CellNotation(MyWorkSheet,Row));
|
CheckEquals(SollStrings[Row],ActualString,'Test value mismatch, cell '+CellNotation(MyWorkSheet,Row));
|
||||||
end;
|
end;
|
||||||
// Finalization
|
// Finalization
|
||||||
MyWorkbook.Free;
|
MyWorkbook.Free;
|
||||||
@ -294,6 +294,7 @@ end;
|
|||||||
procedure TSpreadReadStringTests.TestReadString(FileName: string; Row: integer);
|
procedure TSpreadReadStringTests.TestReadString(FileName: string; Row: integer);
|
||||||
var
|
var
|
||||||
ActualString: string;
|
ActualString: string;
|
||||||
|
AFormat: TsSpreadsheetFormat;
|
||||||
begin
|
begin
|
||||||
if Row>High(SollStrings) then
|
if Row>High(SollStrings) then
|
||||||
fail('Error in test code: array bounds overflow. Check array size is correct.');
|
fail('Error in test code: array bounds overflow. Check array size is correct.');
|
||||||
@ -305,20 +306,25 @@ begin
|
|||||||
|
|
||||||
// Open the spreadsheet
|
// Open the spreadsheet
|
||||||
TestWorkbook := TsWorkbook.Create;
|
TestWorkbook := TsWorkbook.Create;
|
||||||
case UpperCase(ExtractFileExt(FileName)) of
|
case Uppercase(ExtractFileExt(FileName)) of
|
||||||
'.XLSX': TestWorkbook.ReadFromFile(FileName, sfOOXML);
|
'.XLSX': AFormat := sfOOXML;
|
||||||
'.ODS': TestWorkbook.ReadFromFile(FileName, sfOpenDocument);
|
'.ODS' : AFormat := sfOpenDocument;
|
||||||
// Excel XLS/BIFF
|
else AFormat := sfExcel8;
|
||||||
else TestWorkbook.ReadFromFile(FileName, sfExcel8);
|
|
||||||
end;
|
end;
|
||||||
|
TestWorkbook.ReadFromFile(FileName, AFormat);
|
||||||
TestWorksheet := GetWorksheetByName(TestWorkBook, StringsSheet);
|
TestWorksheet := GetWorksheetByName(TestWorkBook, StringsSheet);
|
||||||
if TestWorksheet=nil then
|
if TestWorksheet=nil then
|
||||||
fail('Error in test code: could not retrieve worksheet.');
|
fail('Error in test code: could not retrieve worksheet.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ActualString := TestWorkSheet.ReadAsUTF8Text(Row,0);
|
ActualString := TestWorkSheet.ReadAsUTF8Text(Row,0);
|
||||||
CheckEquals(SollStrings[Row], ActualString, 'Test value mismatch, '
|
if (Row = 11) and (AFormat = sfOpenDocument) then
|
||||||
+'cell '+CellNotation(TestWorkSheet,Row));
|
// SciFloat is not supported by Biff2 and ODS --> we just compare the value
|
||||||
|
CheckEquals(StrToFloat(SollStrings[Row]), StrToFloat(ActualString),
|
||||||
|
'Test value mismatch, cell ' + CellNotation(TestWorksheet, Row))
|
||||||
|
else
|
||||||
|
CheckEquals(SollStrings[Row], ActualString, 'Test value mismatch, '
|
||||||
|
+'cell '+CellNotation(TestWorkSheet, Row));
|
||||||
|
|
||||||
// Don't free the workbook here - it will be reused. It is destroyed at finalization.
|
// Don't free the workbook here - it will be reused. It is destroyed at finalization.
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user