mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 19:19:19 +02:00
tests: add test to check overload precedence for ShortString type passed to other string types
git-svn-id: trunk@21192 -
This commit is contained in:
parent
548cdece84
commit
5217b7011b
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -10484,6 +10484,7 @@ tests/test/tcpstr20.pp svneol=native#text/pascal
|
||||
tests/test/tcpstr21.pp svneol=native#text/pascal
|
||||
tests/test/tcpstr21a.pp svneol=native#text/pascal
|
||||
tests/test/tcpstr22.pp svneol=native#text/pascal
|
||||
tests/test/tcpstr23.pp svneol=native#text/pascal
|
||||
tests/test/tcpstr2a.pp svneol=native#text/plain
|
||||
tests/test/tcpstr3.pp svneol=native#text/plain
|
||||
tests/test/tcpstr4.pp svneol=native#text/plain
|
||||
|
97
tests/test/tcpstr23.pp
Normal file
97
tests/test/tcpstr23.pp
Normal file
@ -0,0 +1,97 @@
|
||||
program tcpstr23;
|
||||
|
||||
{$MODE DELPHI}
|
||||
|
||||
type
|
||||
cp1253string = type AnsiString(1253);
|
||||
|
||||
// --- 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: cp1253string); overload;
|
||||
begin
|
||||
halt(1);
|
||||
end;
|
||||
procedure test_overload1(const s: unicodestring); overload;
|
||||
begin
|
||||
halt(1);
|
||||
end;
|
||||
procedure test_overload1(const s: widestring); overload;
|
||||
begin
|
||||
halt(1);
|
||||
end;
|
||||
// --- 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: cp1253string); overload;
|
||||
begin
|
||||
halt(2);
|
||||
end;
|
||||
procedure test_overload2(const s: unicodestring); overload;
|
||||
begin
|
||||
halt(2);
|
||||
end;
|
||||
procedure test_overload2(const s: widestring); overload;
|
||||
begin
|
||||
halt(2);
|
||||
end;
|
||||
// --- no ShortString, UTF8String ---
|
||||
procedure test_overload3(const s: AnsiString); overload;
|
||||
begin
|
||||
end;
|
||||
procedure test_overload3(const s: cp1253string); overload;
|
||||
begin
|
||||
halt(3);
|
||||
end;
|
||||
procedure test_overload3(const s: unicodestring); overload;
|
||||
begin
|
||||
halt(3);
|
||||
end;
|
||||
procedure test_overload3(const s: widestring); overload;
|
||||
begin
|
||||
halt(3);
|
||||
end;
|
||||
// --- no ShortString, UTF8String, AnsiString ---
|
||||
procedure test_overload4(const s: cp1253string); overload;
|
||||
begin
|
||||
end;
|
||||
procedure test_overload4(const s: unicodestring); overload;
|
||||
begin
|
||||
halt(4);
|
||||
end;
|
||||
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;
|
||||
|
||||
var
|
||||
S: ShortString;
|
||||
begin
|
||||
test_overload1(S);
|
||||
test_overload2(S);
|
||||
test_overload3(S);
|
||||
test_overload4(S);
|
||||
test_overload5(S);
|
||||
end.
|
Loading…
Reference in New Issue
Block a user