aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test8.in
blob: 5e918fbe86cfb089406a230dc360a4289fc17368 (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
# Test index ranges 

echo Test variable expand
set n 10
set test (seq $n)
echo $test[1..$n]      # normal range
echo $test[$n..1]      # inverted range
echo $test[2..5 8..6]  # several ranges
echo $test[-1..-2]     # range with negative limits
echo $test[-1..1]      # range with mixed limits

echo Test variable set
set test1 $test
set test1[-1..1] $test; echo $test1
set test1[1..$n] $test; echo $test1
set test1[$n..1] $test; echo $test1
set test1[2..4 -2..-4] $test1[4..2 -4..-2]; echo $test1

echo Test command substitution
echo (seq 5)[-1..1]
echo (seq $n)[3..5 -2..2]

echo Test more
echo $test[(count $test)..1]
echo $test[1..(count $test)]

# See issue 1061
echo "Verify that if statements swallow failure"
if false ; end ; echo $status

# Verify and/or behavior with if and while statements
if false ; or true ; echo "success1" ; end
if false ; and false ; echo "failure1" ; end
while false ; and false ; or true ; echo "success2"; break ; end
while false; or begin ; false; or true; end; echo "success3"; break ; end
if false ; else if false ; and true ; else if false ; and false ; else if false; or true; echo "success4"; end
if false ; else if false ; and true ; else if false ; or false ; else if false; echo "failure 4"; end
if false ; or true | false ; echo "failure5" ; end

# Catch this corner case, which should produce an error
if false ; or --help ; end