summaryrefslogtreecommitdiff
path: root/packages/fcl-fpcunit/src/latextestreport.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-fpcunit/src/latextestreport.pp')
-rw-r--r--packages/fcl-fpcunit/src/latextestreport.pp20
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/fcl-fpcunit/src/latextestreport.pp b/packages/fcl-fpcunit/src/latextestreport.pp
index c690c62e1e..2f038c49a5 100644
--- a/packages/fcl-fpcunit/src/latextestreport.pp
+++ b/packages/fcl-fpcunit/src/latextestreport.pp
@@ -23,11 +23,14 @@ uses
type
+ { TLatexResultsWriter }
+
TLatexResultsWriter = class(TCustomResultsWriter)
private
FDoc: TStringList;
FSuiteHeaderIdx: TFPList;
FTempFailure: TTestFailure;
+ function TimeFormat(ATiming: TDateTime): String;
protected
class function EscapeText(const S: string): String; virtual;
procedure WriteTestHeader(ATest: TTest; ALevel: integer; ACount: integer); override;
@@ -53,6 +56,21 @@ function GetSuiteAsLatex(aSuite: TTestSuite): string;
implementation
+uses dateutils;
+
+function TLatexResultsWriter.TimeFormat(ATiming: TDateTime): String;
+Var
+ M : Int64;
+
+begin
+ Result:='ss.zzz';
+ M:=MinutesBetween(ATiming,0);
+ if M>60 then
+ Result:='hh:mm:'+Result
+ else if M>1 then
+ Result:='mm:'+Result;
+end;
+
class function TLatexResultsWriter.EscapeText(const S: string): String;
var
i: integer;
@@ -161,7 +179,7 @@ begin
inherited;
S:=StringOfChar(' ',ALevel*2)+ ' '+ '\item[-] ';
if Not SkipTiming then
- S:=S+FormatDateTime('ss.zzz', ATiming);
+ S:=S+FormatDateTime(TimeFormat(ATiming), ATiming);
S:=S+ ' ' + EscapeText(ATest.TestName);
FDoc.Add(S);
if Assigned(FTempFailure) then