diff options
author | EuAndreh <eu@euandre.org> | 2021-03-07 00:06:44 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2021-03-07 00:06:44 -0300 |
commit | 5d999a92d6e86fd18c9bcd459e4ebf4fb356bfd5 (patch) | |
tree | ac5bce1de290786d1f5f90d26a6bc666be96b7a3 | |
parent | ci-build.sh: Also omit output of second rsync (diff) | |
download | remembering-5d999a92d6e86fd18c9bcd459e4ebf4fb356bfd5.tar.gz remembering-5d999a92d6e86fd18c9bcd459e4ebf4fb356bfd5.tar.xz |
Add tests for $XDG_DATA_HOME and $HOME environment variables
Diffstat (limited to '')
-rwxr-xr-x | tests/cli-opts.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index 83b3587..71ce548 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -131,6 +131,63 @@ test_version_flags() { test_ok } +test_environment_variables_and_precedence() { + testing 'environment variables and precedence' + + OUT="$(mktemp)" + ERR="$(mktemp)" + PROFILE='environment-variables-xdg' + XDG="$PWD/tests/test-profiles/xdg-test-$(uuid)" + printf 'a\n' | \ + XDG_DATA_HOME="$XDG" ./remembering \ + -p "$PROFILE" \ + -c 'head -n1' \ + 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_stdout 'a' + assert_stream "\$XDG PROFILE" "$XDG/$PROFILE" '1:a' + + OUT="$(mktemp)" + ERR="$(mktemp)" + PROFILE='environment-variables-home' + HHOME="$PWD/tests/test-profiles/home-test-$(uuid)" + printf 'b\n' | \ + HOME="$HHOME" XDG_DATA_HOME= ./remembering \ + -p "$PROFILE" \ + -c 'head -n1' \ + 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_stdout 'b' + assert_stream "\$HHOME PROFILE" "$HHOME/.local/share/remembering/$PROFILE" '1:b' + + OUT="$(mktemp)" + ERR="$(mktemp)" + PROFILE='xdg-supersedes-home' + HHOME="$PWD/tests/test-profiles/home-wins-over-xdg-test-$(uuid)" + XDG="$PWD/tests/test-profiles/xdg-wins-over-home-test-$(uuid)" + printf 'c\n' | \ + HOME="$HHOME" XDG_DATA_HOME="$XDG" ./remembering \ + -p "$PROFILE" \ + -c 'head -n1' \ + 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_stdout 'c' + assert_stream "\$XDG and \$HOME PROFILE" "$XDG/$PROFILE" '1:c' + + if [ -e "$HHOME/.local/share/remembering/$PROFILE" ]; then + printf "\nERR: The file in \$HHOME/.local should't exist\n" >&2 + exit 1 + fi + + test_ok +} + test_unsupported_long_flags test_missing_required_flags test_missing_required_flags @@ -139,3 +196,4 @@ test_flags_without_required_argument test_valid_options test_help_flags test_version_flags +test_environment_variables_and_precedence |