Merge nucleic/sleek-thistle-egret-fyej into dev
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
name: "Compound commands: if"
|
||||
cases:
|
||||
- name: "Basic if"
|
||||
stdin: |
|
||||
if false; then echo 1; else echo 2; fi
|
||||
if false; then echo 3; elif false; then echo 4; else echo 5; fi
|
||||
if true; then echo 6; else echo 7; fi
|
||||
if false; then echo 8; elif true; then echo 10; else echo 11; fi
|
||||
|
||||
- name: "Multi-line if"
|
||||
test_files:
|
||||
- path: "script.sh"
|
||||
contents: |
|
||||
if false; then
|
||||
echo 1
|
||||
else
|
||||
echo 2
|
||||
fi
|
||||
|
||||
if false; then
|
||||
echo 3
|
||||
elif false; then
|
||||
echo 4
|
||||
else
|
||||
echo 5
|
||||
fi
|
||||
|
||||
if true; then
|
||||
echo 6
|
||||
else
|
||||
echo 7
|
||||
fi
|
||||
|
||||
if false; then
|
||||
echo 8
|
||||
elif true; then
|
||||
echo 10
|
||||
else
|
||||
echo 11
|
||||
fi
|
||||
args: ["./script.sh"]
|
||||
|
||||
- name: "If with return in condition"
|
||||
stdin: |
|
||||
f() {
|
||||
if return 42; then
|
||||
echo "Then branch"
|
||||
else
|
||||
echo "Else branch"
|
||||
fi
|
||||
echo "After if"
|
||||
}
|
||||
f
|
||||
echo "Exit code: $?"
|
||||
|
||||
- name: "If with exit in condition"
|
||||
stdin: |
|
||||
if exit 42; then
|
||||
echo "Then branch"
|
||||
else
|
||||
echo "Else branch"
|
||||
fi
|
||||
echo "After if"
|
||||
|
||||
- name: "If with return in elif condition"
|
||||
stdin: |
|
||||
f() {
|
||||
if false; then
|
||||
echo "Then branch"
|
||||
elif return 42; then
|
||||
echo "Elif then branch"
|
||||
else
|
||||
echo "Else branch"
|
||||
fi
|
||||
echo "After if"
|
||||
}
|
||||
f
|
||||
echo "Exit code: $?"
|
||||
|
||||
- name: "If with break in condition inside loop"
|
||||
stdin: |
|
||||
for i in 1 2 3; do
|
||||
if break; then
|
||||
echo "Then branch"
|
||||
fi
|
||||
echo "After if"
|
||||
done
|
||||
echo "After loop"
|
||||
|
||||
- name: "If with continue in condition inside loop"
|
||||
stdin: |
|
||||
for i in 1 2 3; do
|
||||
echo "Iteration $i"
|
||||
if continue; then
|
||||
echo "Then branch"
|
||||
fi
|
||||
echo "After if"
|
||||
done
|
||||
echo "After loop"
|
||||
Reference in New Issue
Block a user