mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 00:50:49 +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/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
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