36 lines
612 B
Plaintext
36 lines
612 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
cd "${0%/*}" || exit 1
|
||
|
. ../run-tests
|
||
|
|
||
|
export 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
|
||
|
One arg: {{testArgs 'one'}} - done
|
||
|
Getting name in a string: {{testArgs {"The name is " name}}} - done
|
||
|
Reverse this: {{#pipeTo "rev"}}abcde{{/pipeTo "rev"}}
|
||
|
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
|