diff options
Diffstat (limited to 'examples/echo/echo.sh')
-rw-r--r-- | examples/echo/echo.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/echo/echo.sh b/examples/echo/echo.sh new file mode 100644 index 0000000..0564d42 --- /dev/null +++ b/examples/echo/echo.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +_run() +{ + if "$@" < /dev/null > stdout 2> stderr + then + ctx_set exit 0 + else + ctx_set exit "$?" + fi + ctx_set stdout "$(cat stdout)" + ctx_set stderr "$(cat stderr)" +} + +run_echo_without_args() +{ + _run echo +} + +run_echo_with_args() +{ + args="$(cap_get args)" + _run echo "$args" +} + +exit_code_is() +{ + actual_exit="$(ctx_get exit)" + wanted_exit="$(cap_get exit_code)" + assert_eq "$actual_exit" "$wanted_exit" +} + +stdout_is_a_newline() +{ + stdout="$(ctx_get stdout)" + assert_eq "$stdout" "$(printf '\n')" +} + +stdout_is_text() +{ + stdout="$(ctx_get stdout)" + text="$(cap_get text)" + assert_contains "$stdout" "$text" +} + +stderr_is_empty() +{ + stderr="$(ctx_get stderr)" + assert_eq "$stderr" "" +} |