summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/test/tcase16.pp
blob: 2e212972cef622b02f32945e643d7994dfdd7962 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{ comparsion of one-symbol strings as ranges and single cases }

{$H+}
var
  my_str: string;
  my_str_wide: widestring;
  my_str_ansi: ansistring;
  my_str_uni: unicodestring;
  i: integer;

begin
  my_str := 'b';
  my_str_wide := 'b';
  my_str_ansi := 'b';
  my_str_uni := 'b';
  i := -1;

  case my_str of
    'a'..'b': i := 1;
    'c': i := 2;
    'd'..'eee': i := 3;
    else i := 0;
  end;

  if (i <> 1) then begin
    writeln('Error');
    Halt(1);
  end;


  case my_str_wide of
    'a'..'b': i := 1;
    'c': i := 2;
    'd'..'eee': i := 3;
    else i := 0;
  end;

  if (i <> 1) then begin
    writeln('Error');
    Halt(1);
  end;


  case my_str_ansi of
    'a'..'b': i := 1;
    'c': i := 2;
    'd'..'eee': i := 3;
    else i := 0;
  end;

  if (i <> 1) then begin
    writeln('Error');
    Halt(1);
  end;


  case my_str_uni of
    'a'..'b': i := 1;
    'c': i := 2;
    'd'..'eee': i := 3;
    else i := 0;
  end;

  if (i <> 1) then begin
    writeln('Error');
    Halt(1);
  end;
end.