aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test7.in
blob: 60cc138598cb2662d119cb8926085c4a196c89ba (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Test that subsequent cases do not blow away the status from previous ones
for val in one two three four
	switch $val
	case one
		/bin/sh -c 'exit 1'
	case two
		/bin/sh -c 'exit 2'
	case three
		/bin/sh -c 'exit 3'
	end
	echo $status
end

echo

# Test that the `switch` builtin itself does not blow away status before evaluating a case
false
switch one
case one
	echo $status
end

# Test that non-case tokens inside `switch` don't blow away status
# (why are these even allowed?)
false
switch one
true
case one
	echo $status
end

#test contains -i
echo test contains -i
contains -i string a b c string d
contains -i string a b c d; or echo nothing
contains -i -- string a b c string d
contains -i -- -- a b c; or echo nothing
contains -i -- -- a b c -- v

# Test if, else, and elseif
# Test if, else, and elseif
if true
	echo alpha1.1
	echo alpha1.2
elseif false
	echo beta1.1
	echo beta1.2
elseif false
	echo gamma1.1
	echo gamma1.2
else
	echo delta1.1
	echo delta1.2
end

if false
	echo alpha2.1
	echo alpha2.2
elseif begin ; true ; end
	echo beta2.1
	echo beta2.2
elseif begin ; echo nope2.1; false ; end
	echo gamma2.1
	echo gamma2.2
else
	echo delta2.1
	echo delta2.2
end

if false
	echo alpha3.1
	echo alpha3.2
elseif begin ; echo yep3.1; false ; end
	echo beta3.1
	echo beta3.2
elseif begin ; echo yep3.2; true ; end
	echo gamma3.1
	echo gamma3.2
else
	echo delta3.1
	echo delta3.2
end

if false
	echo alpha4.1
	echo alpha4.2
elseif begin ; echo yep4.1; false ; end
	echo beta4.1
	echo beta4.2
elseif begin ; echo yep4.2; false ; end
	echo gamma4.1
	echo gamma4.2
else
	echo delta4.1
	echo delta4.2
end