mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 15:49:04 +02:00
74 lines
1.4 KiB
ObjectPascal
74 lines
1.4 KiB
ObjectPascal
program tover1;
|
|
|
|
const
|
|
RESULT_PCHAR = 'pchar parameter call';
|
|
RESULT_ANSI = 'ansistring parameter call';
|
|
RESULT_SHORT = 'shortstring parameter call';
|
|
RESULT_WIDE = 'widestring parameter call';
|
|
|
|
{ This tests method overloads, to verify
|
|
if they conform to correct type conversion
|
|
}
|
|
function test_string(s: shortstring): shortstring;
|
|
Begin
|
|
test_string := RESULT_SHORT;
|
|
end;
|
|
|
|
{$ifndef ver1_0}
|
|
function test_string(s: widestring): shortstring;
|
|
Begin
|
|
test_string := RESULT_WIDE;
|
|
end;
|
|
{$endif}
|
|
|
|
|
|
function test_string(s: ansistring): shortstring;
|
|
Begin
|
|
test_string := RESULT_ANSI;
|
|
end;
|
|
|
|
function test_string(p:pchar): shortstring;
|
|
begin
|
|
test_string := RESULT_PCHAR;
|
|
end;
|
|
|
|
procedure fail;
|
|
begin
|
|
writeln('Failure!');
|
|
Halt(1);
|
|
end;
|
|
|
|
var
|
|
short_string : shortstring;
|
|
ansi_string : ansistring;
|
|
{$ifndef ver1_0}
|
|
wide_string : widestring;
|
|
{$endif}
|
|
p_string : pchar;
|
|
s: shortstring;
|
|
Begin
|
|
p_string:=nil;
|
|
ansi_string:='';
|
|
short_string:='';
|
|
{$ifndef ver1_0}
|
|
wide_string:='';
|
|
{$endif}
|
|
Write('Test of overloaded call to string routines...');
|
|
{ test parameter call }
|
|
s:=test_string(short_string);
|
|
if s <> RESULT_SHORT then
|
|
fail;
|
|
s:=test_string(ansi_string);
|
|
if s <> RESULT_ANSI then
|
|
fail;
|
|
{$ifndef ver1_0}
|
|
s:=test_string(wide_string);
|
|
if s <> RESULT_WIDE then
|
|
fail;
|
|
{$endif}
|
|
s:=test_string(p_string);
|
|
if s <> RESULT_PCHAR then
|
|
fail;
|
|
WriteLn('Success!');
|
|
end.
|