test1.pp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. uses
  2. dpmiexcp,regexpr;
  3. var
  4. r : tregexprengine;
  5. b : array[0..100] of char;
  6. index,len : longint;
  7. procedure do_error(i : longint);
  8. begin
  9. writeln('error near ',i,' index: ',index,' len: ',len);
  10. halt(1);
  11. end;
  12. begin
  13. writeln('*** Testing unit regexpr ***');
  14. r:=GenerateRegExprEngine('[A-Z]');
  15. if not(RegExprPos(r,'234578923457823659A38',index,len)) or
  16. (index<>18) or (len<>1) then
  17. do_error(1000);
  18. DestroyregExprEngine(r);
  19. r:=GenerateRegExprEngine('[A-Z]*');
  20. if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
  21. { is this result correct ??? }
  22. (index<>0) or (len<>0) then
  23. do_error(1002);
  24. DestroyregExprEngine(r);
  25. r:=GenerateRegExprEngine('[A-Z]+');
  26. if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
  27. (index<>18) or (len<>5) then
  28. do_error(1003);
  29. DestroyregExprEngine(r);
  30. r:=GenerateRegExprEngine('[A-Z][A-Z]*');
  31. if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
  32. (index<>18) or (len<>5) then
  33. do_error(1004);
  34. DestroyregExprEngine(r);
  35. r:=GenerateRegExprEngine('[A-Z][A-Z]?');
  36. if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
  37. (index<>18) or (len<>2) then
  38. do_error(1005);
  39. DestroyregExprEngine(r);
  40. r:=GenerateRegExprEngine('^\d+');
  41. if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or
  42. (index<>18) or (len<>5) then
  43. do_error(1006);
  44. DestroyregExprEngine(r);
  45. r:=GenerateRegExprEngine('(nofoo|foo)1234');
  46. if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or
  47. (index<>8) or (len<>7) then
  48. do_error(1007);
  49. DestroyregExprEngine(r);
  50. r:=GenerateRegExprEngine('(nofoo|foo)1234');
  51. if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or
  52. (index<>8) or (len<>9) then
  53. do_error(1008);
  54. DestroyregExprEngine(r);
  55. writeln('*** Testing unit regexpr was successful ***');
  56. end.