summaryrefslogtreecommitdiff
path: root/tests/test/tindex.pp
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-04-10 19:20:48 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-04-10 19:20:48 +0000
commit160cc1e115eeb75638dce6effdd16b2bc810ddb4 (patch)
treeb791a95695a7cf674e61a6153139c6f9c6c491fa /tests/test/tindex.pp
parent3843727e74b31bbf2a34e7e3b89ee422269f770e (diff)
parent413a6aa6469e6c297780217a27ca91363c637944 (diff)
downloadfpc-160cc1e115eeb75638dce6effdd16b2bc810ddb4.tar.gz
* rebase to trunk@17295avr
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/avr@17296 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'tests/test/tindex.pp')
-rw-r--r--tests/test/tindex.pp36
1 files changed, 35 insertions, 1 deletions
diff --git a/tests/test/tindex.pp b/tests/test/tindex.pp
index ae5bb66214..c128b53ee3 100644
--- a/tests/test/tindex.pp
+++ b/tests/test/tindex.pp
@@ -46,12 +46,29 @@ begin
writeln('indexbyte error 2 for (',i,',',j,',',k,')');
halt(2);
end;
+ {same for length=-1}
+ if indexbyte(b[k+4],-1,0)<>index then
+ begin
+ writeln(indexbyte(b[k+4],-1,0),' <> ',index);
+ writeln('indexbyte error 2a for (',i,',',j,',',k,')');
+ halt(22);
+ end;
+
if indexbyte(b[k+4],i,b[k+4+i-1])<>i-1 then
begin
writeln('indexbyte error 3 for (',i,',',j,',',k,')');
halt(3);
end;
+ {same for length=-1}
+ if i<>0 then // previous test will be no-op when i=0
+ if indexbyte(b[k+4],-1,b[k+4+i-1])<>i-1 then
+ begin
+ writeln('indexbyte error 3a for (',i,',',j,',',k,')');
+ halt(23);
+ end;
+
+
if (i<1) then
index:=-1
else
@@ -62,6 +79,16 @@ begin
writeln('indexbyte error 4 for (',i,',',j,',',k,')');
halt(4);
end;
+ {same for length=-1}
+ if i<>0 then // previous test will be no-op when i=0
+ if indexbyte(b[k+4],-1,b[k+4+i shr 1])<>index then
+ begin
+ writeln(indexbyte(b[k+4],-1,b[k+4+i shr 1]),' <> ',index);
+ writeln('indexbyte error 4a for (',i,',',j,',',k,')');
+ halt(24);
+ end;
+
+
if (i=0) then
index:=-1
else
@@ -69,8 +96,15 @@ begin
if indexbyte(b[k+4],i,b[k+4])<>index then
begin
writeln('indexbyte error 5 for (',i,',',j,',',k,')');
- halt(3);
+ halt(5);
end;
+ {same for length=-1}
+ if i<>0 then
+ if indexbyte(b[k+4],-1,b[k+4])<>index then
+ begin
+ writeln('indexbyte error 5a for (',i,',',j,',',k,')');
+ halt(25);
+ end;
if indexword(b[k+4],i shr 1,0)<>-1 then