tcase42.pp 892 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. { test for range with one-symbol string as right bound, which is smaller than left. Fail }
  2. {%FAIL}
  3. {$H-}
  4. var
  5. my_str: string;
  6. my_str_wide: widestring;
  7. my_str_ansi: ansistring;
  8. my_str_uni: unicodestring;
  9. i: integer;
  10. begin
  11. my_str := 'cab';
  12. my_str_wide := 'cab';
  13. my_str_ansi := 'cab';
  14. my_str_uni := 'cab';
  15. i := -1;
  16. case my_str of
  17. 'cab'..'a': i := 1;
  18. else i := 0;
  19. end;
  20. if (i <> 1) then begin
  21. writeln('Error');
  22. Halt(1);
  23. end;
  24. case my_str_wide of
  25. 'cab'..'a': i := 1;
  26. else i := 0;
  27. end;
  28. if (i <> 1) then begin
  29. writeln('Error');
  30. Halt(1);
  31. end;
  32. case my_str_ansi of
  33. 'cab'..'a': i := 1;
  34. else i := 0;
  35. end;
  36. if (i <> 1) then begin
  37. writeln('Error');
  38. Halt(1);
  39. end;
  40. case my_str_uni of
  41. 'cab'..'a': i := 1;
  42. else i := 0;
  43. end;
  44. if (i <> 1) then begin
  45. writeln('Error');
  46. Halt(1);
  47. end;
  48. end.