From 3a23d30511999755910cc19415a80060f3410caa Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Sat, 27 Jul 2019 14:27:13 +0200 Subject: [PATCH] Add tests for tm script --- .local/bin/test/tm.bats | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .local/bin/test/tm.bats diff --git a/.local/bin/test/tm.bats b/.local/bin/test/tm.bats new file mode 100644 index 0000000..b11e425 --- /dev/null +++ b/.local/bin/test/tm.bats @@ -0,0 +1,39 @@ +setup() { + fut="$BATS_TEST_DIRNAME/../tm" +} + +teardown() { + rm -rf $BATS_TMPDIR/xdg/* +} + +@test "runs correctly if invoked without arguments" { + run $fut + echo "$BATS_TEST_DIRNAME/../tm" + [ "$status" -eq 0 ] +} + +@test "Errors out if passed a non-existent session file (and some session name)" { + run $fut IDONT_EXIST_HERE.session sessionname + echo "STATUS: $output" + [ "$status" -eq 1 ] + echo "OUTPUT: $output" + [ "$output" = "can not source session file: 'IDONT_EXIST_HERE.session' does not exist." ] +} + +@test "Runs without errors when session file exists in PWD" { + touch $PWD/exists.session + run $fut exists.session sessionname + rm $PWD/exists.session + + [ "$status" -eq 0 ] +} + +@test "Runs without errors when session file exists in XDG_CONFIG_HOME/tmux/sessions/" { + export XDG_CONFIG_HOME=$BATS_TMPDIR + mkdir -p $XDG_CONFIG_HOME/tmux/sessions + sesdir=$XDG_CONFIG_HOME/tmux/sessions + touch $sesdir/exists.session + run $fut exists.session sessionname + + [ "$status" -eq 0 ] +}