summaryrefslogtreecommitdiffstats
path: root/pigeonhole/tests/compile/errors/if.sieve
blob: 6a8537bad82697d35a223b52fa9d1587d435f0ad (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
69
70
71
72
73
74
75
76
77
78
/*
 * If command errors
 *
 * Total errors: 11 (+1 = 12)
 */

# Spurious argument
if "frop" true {}

# Spurious argument
elsif "frop" true {}

# Spurious string list
if [ "false", "false", "false" ] false {
	stop;
}

# No block
if true;

# No test
if {
	keep;
}

# Spurious test list
if ( false, false, true ) {
	keep;
}

stop;

# If-less else
else {
	keep;
}

# Not an error
if true {
	keep;
}

stop;

# If-less if structure (should produce only one error)
elsif true {
	keep;
}
elsif true {
	keep;
}
else {
}

# Elsif after else
if true {
	keep;
} else {
	stop;
} elsif true {
	stop;
}

# If used as test
if if true {
}

# Else if instead of elsif

if true {
	stop;
} else if false {
	keep;
}