diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-04-10 19:20:48 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-04-10 19:20:48 +0000 |
commit | 160cc1e115eeb75638dce6effdd16b2bc810ddb4 (patch) | |
tree | b791a95695a7cf674e61a6153139c6f9c6c491fa /tests/test/tindex.pp | |
parent | 3843727e74b31bbf2a34e7e3b89ee422269f770e (diff) | |
parent | 413a6aa6469e6c297780217a27ca91363c637944 (diff) | |
download | fpc-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.pp | 36 |
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 |