name: "Variable tests"
cases:
- name: "Appending to a variable"
stdin: |
x=something
x+=here
echo "x: ${x}"
- name: "Appending an integer to an integer variable"
stdin: |
declare -i x=10
echo "x: ${x}"
x+=5
echo "x: ${x}"
x+=value
echo "x: ${x}"
y=value
declare -i y
echo "y: ${y}"
y+=5
echo "y: ${y}"
- name: "Append to an unset variable"
stdin: |
declare -a myvar
myvar+=abc
echo "myvar: ${myvar}"
declare -i myint
myint+=abc
echo "myint: ${myint}"
- name: "Parameter length of unset variable with nounset"
ignore_stderr: true
stdin: |
set -u
echo "${#unset_var}" 2>&1 || true
arr=()
echo "${#arr[0]}"
echo "${#arr[@]}"
arr2=(hello world)
echo "${#arr2[5]}"
echo "${#arr2[0]}"