fpc/tests/test/tcpstr23.pp
2012-05-03 07:03:19 +00:00

108 lines
2.2 KiB
ObjectPascal

program tcpstr23;
{$MODE DELPHI}
type
cp1251string = type AnsiString(1251);
// --- all string types ---
procedure test_overload1(const s: ShortString); overload;
begin
end;
procedure test_overload1(const s: UTF8String); overload;
begin
halt(1);
end;
procedure test_overload1(const s: AnsiString); overload;
begin
halt(1);
end;
procedure test_overload1(const s: cp1251string); overload;
begin
halt(1);
end;
procedure test_overload1(const s: unicodestring); overload;
begin
halt(1);
end;
{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
procedure test_overload1(const s: widestring); overload;
begin
halt(1);
end;
{$endif}
// --- no ShortString ---
procedure test_overload2(const s: UTF8String); overload;
begin
end;
procedure test_overload2(const s: AnsiString); overload;
begin
halt(2);
end;
procedure test_overload2(const s: cp1251string); overload;
begin
halt(2);
end;
procedure test_overload2(const s: unicodestring); overload;
begin
halt(2);
end;
{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
procedure test_overload2(const s: widestring); overload;
begin
halt(2);
end;
{$endif}
// --- no ShortString, UTF8String ---
procedure test_overload3(const s: AnsiString); overload;
begin
end;
procedure test_overload3(const s: cp1251string); overload;
begin
halt(3);
end;
procedure test_overload3(const s: unicodestring); overload;
begin
halt(3);
end;
{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
procedure test_overload3(const s: widestring); overload;
begin
halt(3);
end;
{$endif}
// --- no ShortString, UTF8String, AnsiString ---
procedure test_overload4(const s: cp1251string); overload;
begin
end;
procedure test_overload4(const s: unicodestring); overload;
begin
halt(4);
end;
{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
procedure test_overload4(const s: widestring); overload;
begin
halt(4);
end;
// --- no ShortString, UTF8String, AnsiString, AnsiString(codepage) ---
procedure test_overload5(const s: unicodestring); overload;
begin
end;
procedure test_overload5(const s: widestring); overload;
begin
halt(5);
end;
{$endif}
var
S: ShortString;
begin
test_overload1(S);
test_overload2(S);
test_overload3(S);
test_overload4(S);
{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
test_overload5(S);
{$endif}
end.