1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- uses
- dpmiexcp,regexpr;
- var
- r : tregexprengine;
- b : array[0..100] of char;
- index,len : longint;
- procedure do_error(i : longint);
- begin
- writeln('error near ',i,' index: ',index,' len: ',len);
- halt(1);
- end;
- begin
- writeln('*** Testing unit regexpr ***');
- r:=GenerateRegExprEngine('[A-Z]',[]);
- if not(RegExprPos(r,'234578923457823659A38',index,len)) or
- (index<>18) or (len<>1) then
- do_error(1000);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('[A-Z]*',[]);
- if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
- { is this result correct ??? }
- (index<>0) or (len<>0) then
- do_error(1002);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('[A-Z]+',[]);
- if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
- (index<>18) or (len<>5) then
- do_error(1003);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('[A-Z][A-Z]*',[]);
- if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
- (index<>18) or (len<>5) then
- do_error(1004);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('[A-Z][A-Z]?',[]);
- if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
- (index<>18) or (len<>2) then
- do_error(1005);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('^\d+',[]);
- if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
- (index<>18) or (len<>5) then
- do_error(1006);
- DestroyregExprEngine(r);
- {
- r:=GenerateRegExprEngine('(nofoo|foo)1234',[]);
- if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or
- (index<>8) or (len<>7) then
- do_error(1007);
- DestroyregExprEngine(r);
- r:=GenerateRegExprEngine('(nofoo|foo)1234',[]);
- if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or
- (index<>8) or (len<>9) then
- do_error(1008);
- DestroyregExprEngine(r);
- }
- { case insensitive: }
- r:=GenerateRegExprEngine('[A-Z]',[ref_caseinsensitive]);
- if not(RegExprPos(r,'234578923457823659a38',index,len)) or
- (index<>18) or (len<>1) then
- do_error(1009);
- DestroyregExprEngine(r);
- { case insensitive: }
- r:=GenerateRegExprEngine('[a-z]',[ref_caseinsensitive]);
- if not(RegExprPos(r,'234578923457823659A38',index,len)) or
- (index<>18) or (len<>1) then
- do_error(1010);
- DestroyregExprEngine(r);
- writeln('*** Testing unit regexpr was successful ***');
- end.
|