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:
paul 2012-05-02 08:45:54 +00:00
parent 548cdece84
commit 5217b7011b
2 changed files with 98 additions and 0 deletions

1
.gitattributes vendored
View File

@ -10484,6 +10484,7 @@ tests/test/tcpstr20.pp svneol=native#text/pascal
tests/test/tcpstr21.pp svneol=native#text/pascal tests/test/tcpstr21.pp svneol=native#text/pascal
tests/test/tcpstr21a.pp svneol=native#text/pascal tests/test/tcpstr21a.pp svneol=native#text/pascal
tests/test/tcpstr22.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/tcpstr2a.pp svneol=native#text/plain
tests/test/tcpstr3.pp svneol=native#text/plain tests/test/tcpstr3.pp svneol=native#text/plain
tests/test/tcpstr4.pp svneol=native#text/plain tests/test/tcpstr4.pp svneol=native#text/plain

97
tests/test/tcpstr23.pp Normal file
View 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.