2023-04-08 00:35:25 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
cd "${0%/*}" || exit 1
|
|
|
|
. ../run-tests
|
|
|
|
|
|
|
|
name=Willy
|
|
|
|
MO_ALLOW_FUNCTION_ARGUMENTS=true
|
|
|
|
|
|
|
|
pipeTo() {
|
|
|
|
cat | "$1"
|
|
|
|
}
|
|
|
|
|
|
|
|
testArgs() {
|
|
|
|
printf "%d" "$#"
|
|
|
|
|
|
|
|
# Display all arguments
|
|
|
|
printf " %q" ${@+"$@"}
|
|
|
|
}
|
|
|
|
template() {
|
|
|
|
cat <<EOF
|
|
|
|
No args: {{testArgs}} - done
|
2023-04-08 04:10:47 +00:00
|
|
|
One arg: {{testArgs 'one'}} - done
|
|
|
|
Getting name in a string: {{testArgs {"The name is " name}}} - done
|
|
|
|
Reverse this: {{#pipeTo "rev"}}abcde{{/pipeTo}}
|
2023-04-08 00:35:25 +00:00
|
|
|
EOF
|
|
|
|
}
|
|
|
|
expected() {
|
|
|
|
cat <<EOF
|
|
|
|
No args: 0 '' - done
|
|
|
|
One arg: 1 one - done
|
|
|
|
Getting name in a string: 1 The\ name\ is\ Willy - done
|
|
|
|
Reverse this: edcba
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
|
|
runTest
|