84 lines
1.9 KiB
YAML
84 lines
1.9 KiB
YAML
name: "and/or"
|
|||
|
|
cases:
|
||
|
|
- name: "Basic &&"
|
||
|
|
stdin: |
|
||
|
|
false && echo 1
|
||
|
|
true && echo 2
|
||
|
|
|
||
|
|
- name: "Basic ||"
|
||
|
|
stdin: |
|
||
|
|
false || echo 1
|
||
|
|
true || echo 2
|
||
|
|
|
||
|
|
- name: "Longer chains"
|
||
|
|
stdin: |
|
||
|
|
false || false || false || echo "Got to the end"
|
||
|
|
echo "1" && echo "2" && echo "3" && echo "4"
|
||
|
|
|
||
|
|
- name: "Mixed chains"
|
||
|
|
stdin: |
|
||
|
|
false && true || echo "1. Got to the end"
|
||
|
|
false && false || echo "2. Got to the end"
|
||
|
|
true && false || echo "3. Got to the end"
|
||
|
|
|
||
|
|
- name: "And with return in function"
|
||
|
|
stdin: |
|
||
|
|
f() {
|
||
|
|
echo "Before" && return 42 && echo "After return"
|
||
|
|
echo "After and-or"
|
||
|
|
}
|
||
|
|
f
|
||
|
|
echo "Exit code: $?"
|
||
|
|
|
||
|
|
- name: "And with exit"
|
||
|
|
stdin: |
|
||
|
|
echo "Before" && exit 42 && echo "After exit"
|
||
|
|
echo "After and-or"
|
||
|
|
|
||
|
|
- name: "And with break in loop"
|
||
|
|
stdin: |
|
||
|
|
for i in 1 2 3; do
|
||
|
|
echo "Iteration $i" && break && echo "After break"
|
||
|
|
echo "After and-or"
|
||
|
|
done
|
||
|
|
echo "After loop"
|
||
|
|
|
||
|
|
- name: "And with continue in loop"
|
||
|
|
stdin: |
|
||
|
|
for i in 1 2 3; do
|
||
|
|
echo "Iteration $i" && continue && echo "After continue"
|
||
|
|
echo "After and-or"
|
||
|
|
done
|
||
|
|
echo "After loop"
|
||
|
|
|
||
|
|
- name: "Or with return in function"
|
||
|
|
stdin: |
|
||
|
|
f() {
|
||
|
|
false || return 42 || echo "After return"
|
||
|
|
echo "After or-list"
|
||
|
|
}
|
||
|
|
f
|
||
|
|
echo "Exit code: $?"
|
||
|
|
|
||
|
|
- name: "Or with exit"
|
||
|
|
stdin: |
|
||
|
|
false || exit 42 || echo "After exit"
|
||
|
|
echo "After or-list"
|
||
|
|
|
||
|
|
- name: "Or with break in loop"
|
||
|
|
stdin: |
|
||
|
|
for i in 1 2 3; do
|
||
|
|
false || break || echo "After break"
|
||
|
|
echo "After or-list"
|
||
|
|
done
|
||
|
|
echo "After loop"
|
||
|
|
|
||
|
|
- name: "Or with continue in loop"
|
||
|
|
stdin: |
|
||
|
|
for i in 1 2 3; do
|
||
|
|
echo "Iteration $i"
|
||
|
|
false || continue || echo "After continue"
|
||
|
|
echo "After or-list"
|
||
|
|
done
|
||
|
|
echo "After loop"
|