+ added simple test for the TRawByteStringCollection object type

git-svn-id: branches/unicodekvm@48638 -
This commit is contained in:
nickysn 2021-02-10 21:59:30 +00:00
parent c466caa0c8
commit 0470ca8fe3
2 changed files with 50 additions and 0 deletions

1
.gitattributes vendored
View File

@ -16191,6 +16191,7 @@ tests/test/units/nullable/tnull.pp svneol=native#text/plain
tests/test/units/objects/testobj.pp svneol=native#text/plain
tests/test/units/objects/testobj1.pp svneol=native#text/plain
tests/test/units/objects/testobj2.pp svneol=native#text/plain
tests/test/units/objects/testobj3.pp svneol=native#text/plain
tests/test/units/rtl-generics/tw35877.pp svneol=native#text/plain
tests/test/units/sharemem/libtest.pp svneol=native#text/plain
tests/test/units/sharemem/test1.pp svneol=native#text/plain

View File

@ -0,0 +1,49 @@
program testobj3;
uses
Objects;
function GetRefCount(const S: RawByteString): SizeInt;
begin
GetRefCount:=PSizeInt(PByte(S)-2*SizeOf(SizeInt))^;
end;
procedure Error(ErrNo: Integer);
begin
Writeln('Error! ', ErrNo);
Halt(1);
end;
procedure Test1;
var
coll: PRawByteStringCollection;
S, S2: AnsiString;
begin
Writeln('Test1');
SetLength(S, 5);
S[1] := 'H';
S[2] := 'e';
S[3] := 'l';
S[4] := 'l';
S[5] := 'o';
if GetRefCount(S)<>1 then
Error(1);
coll := New(PRawByteStringCollection, Init(100, 100));
coll^.AtInsert(0, S);
if GetRefCount(S)<>2 then
Error(2);
S2 := RawByteString(coll^.At(0));
if GetRefCount(S)<>3 then
Error(3);
if S2<>'Hello' then
Error(4);
if RawByteString(coll^.At(0))<>'Hello' then
Error(5);
Dispose(coll, Done);
if GetRefCount(S)<>2 then
Error(6);
end;
begin
Test1;
Writeln('Ok!');
end.