You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.8 KiB

преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
  1. #!/usr/bin/env bats
  2. load test_helper
  3. @test "prints usage help given no argument" {
  4. run rbenv-hooks
  5. assert_failure "Usage: rbenv hooks <command>"
  6. }
  7. @test "prints list of hooks" {
  8. path1="${RBENV_TEST_DIR}/rbenv.d"
  9. path2="${RBENV_TEST_DIR}/etc/rbenv_hooks"
  10. RBENV_HOOK_PATH="$path1"
  11. create_hook exec "hello.bash"
  12. create_hook exec "ahoy.bash"
  13. create_hook exec "invalid.sh"
  14. create_hook which "boom.bash"
  15. RBENV_HOOK_PATH="$path2"
  16. create_hook exec "bueno.bash"
  17. RBENV_HOOK_PATH="$path1:$path2" run rbenv-hooks exec
  18. assert_success
  19. assert_output <<OUT
  20. ${RBENV_TEST_DIR}/rbenv.d/exec/ahoy.bash
  21. ${RBENV_TEST_DIR}/rbenv.d/exec/hello.bash
  22. ${RBENV_TEST_DIR}/etc/rbenv_hooks/exec/bueno.bash
  23. OUT
  24. }
  25. @test "supports hook paths with spaces" {
  26. path1="${RBENV_TEST_DIR}/my hooks/rbenv.d"
  27. path2="${RBENV_TEST_DIR}/etc/rbenv hooks"
  28. RBENV_HOOK_PATH="$path1"
  29. create_hook exec "hello.bash"
  30. RBENV_HOOK_PATH="$path2"
  31. create_hook exec "ahoy.bash"
  32. RBENV_HOOK_PATH="$path1:$path2" run rbenv-hooks exec
  33. assert_success
  34. assert_output <<OUT
  35. ${RBENV_TEST_DIR}/my hooks/rbenv.d/exec/hello.bash
  36. ${RBENV_TEST_DIR}/etc/rbenv hooks/exec/ahoy.bash
  37. OUT
  38. }
  39. @test "resolves relative paths" {
  40. RBENV_HOOK_PATH="${RBENV_TEST_DIR}/rbenv.d"
  41. create_hook exec "hello.bash"
  42. mkdir -p "$HOME"
  43. RBENV_HOOK_PATH="${HOME}/../rbenv.d" run rbenv-hooks exec
  44. assert_success "${RBENV_TEST_DIR}/rbenv.d/exec/hello.bash"
  45. }
  46. @test "resolves symlinks" {
  47. path="${RBENV_TEST_DIR}/rbenv.d"
  48. mkdir -p "${path}/exec"
  49. mkdir -p "$HOME"
  50. touch "${HOME}/hola.bash"
  51. ln -s "../../home/hola.bash" "${path}/exec/hello.bash"
  52. touch "${path}/exec/bright.sh"
  53. ln -s "bright.sh" "${path}/exec/world.bash"
  54. RBENV_HOOK_PATH="$path" run rbenv-hooks exec
  55. assert_success
  56. assert_output <<OUT
  57. ${HOME}/hola.bash
  58. ${RBENV_TEST_DIR}/rbenv.d/exec/bright.sh
  59. OUT
  60. }