mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-04-12 18:39:39 +02:00
64 lines
1.7 KiB
ObjectPascal
64 lines
1.7 KiB
ObjectPascal
unit tcsysutils;
|
|
|
|
{$mode ObjFPC}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, fpcunit, testregistry;
|
|
|
|
Type
|
|
|
|
{ TTestSysutils }
|
|
|
|
TTestSysutils = Class(TTestCase)
|
|
|
|
private
|
|
procedure TestFormat(Fmt: String; const Args: array of const;
|
|
aResult: String);
|
|
Published
|
|
Procedure TestFormatSimple;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
Procedure TTestSysutils.TestFormat(Fmt : String; Const Args : Array of const; aResult : String);
|
|
|
|
begin
|
|
AssertEquals('Format >>'+Fmt+'<<',aResult,Format(Fmt,Args));
|
|
end;
|
|
|
|
Procedure TTestSysutils.TestFormatSimple;
|
|
begin
|
|
// Just 1 data item
|
|
TestFormat('%s', ['Hello'],'Hello');
|
|
|
|
// A mix of literal text and a data item
|
|
TestFormat('String = %s', ['Hello'],'String = Hello');
|
|
|
|
// Examples of each of the data types
|
|
TestFormat('Decimal = %d', [-123],'Decimal = -123');
|
|
{$IFDEF PAS2JS}
|
|
TestFormat('Exponent = %e', [12345.678],'Exponent = 1.23E+4');
|
|
{$ELSE}
|
|
TestFormat('Exponent = %e', [12345.678],'Exponent = 1.2345678000000000E+004');
|
|
{$ENDIF}
|
|
TestFormat('Fixed = %f', [12345.678],'Fixed = 12345.68');
|
|
TestFormat('General = %g', [12345.678],'General = 12345.678');
|
|
TestFormat('Number = %n', [12345.678],'Number = 12,345.68');
|
|
{$IFDEF PAS2JS}
|
|
TestFormat('Money = %m', [12345.678],'Money = $12,345.68');
|
|
{$ELSE}
|
|
TestFormat('Money = %m', [12345.678],'Money = 12,345.68$');
|
|
{$ENDIF}
|
|
TestFormat('String = %s', ['Hello'],'String = Hello');
|
|
TestFormat('Unsigned decimal = %u', [123],'Unsigned decimal = 123');
|
|
TestFormat('Hexadecimal = %x', [140],'Hexadecimal = 8C');
|
|
end;
|
|
|
|
initialization
|
|
RegisterTests([TTestSysUtils]);
|
|
end.
|
|
|