mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-05 06:33:37 +02:00
52 lines
1.1 KiB
ObjectPascal
52 lines
1.1 KiB
ObjectPascal
{$mode objfpc} {$h+}
|
|
{$hints on}
|
|
{$warnings on}
|
|
|
|
uses strutils;
|
|
|
|
var doexit : integer =0;
|
|
|
|
procedure posTest(const substr,str:ansistring;start:integer;shouldberes:integer;testnr:integer);
|
|
|
|
var res : integer;
|
|
|
|
begin
|
|
res:=posex(substr,str,start);
|
|
if res<>shouldberes then
|
|
begin
|
|
writeln('test ',testnr:5,' resulted in ',res:5,' should be ',shouldberes);
|
|
doexit:=1;
|
|
end;
|
|
if res>0 then
|
|
begin
|
|
if copy(str,res,length(substr))<>substr then
|
|
begin
|
|
doexit:=1;
|
|
writeln('test ',testnr,' doesn''t match search phrase');
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
const
|
|
S = 'Start'+#0#1+'BaseLevel'+#0#2+'Sublevel1'+#0#2+'Sublevel2'+#0#1+'LastOne';
|
|
Sub = 'LastOne';
|
|
|
|
s2 = '1234one8901one';
|
|
s3 = '1234one8901on';
|
|
s4 = '1234on234on3';
|
|
begin
|
|
postest(sub,s,1,41,1);
|
|
postest('One',s,1,45,2);
|
|
postest('Start',s,1,1,3);
|
|
postest('one',s2,1,5,4);
|
|
postest('one',s2,6,12,5);
|
|
postest('one',s3,6,0,6);
|
|
postest('one',s3,0,0,7);
|
|
postest('one',s2,14,0,8);
|
|
postest('One',s2,1,0,9); // test if compare is case sensitive
|
|
postest('one',s4,1,0,10); // test if compare is case sensitive
|
|
|
|
if doexit>0 then
|
|
halt(1);
|
|
end.
|