![ljharb@gmail.com](/assets/img/avatar_default.png)
3 changed files with 100 additions and 26 deletions
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh |
||||
|
||||
cleanup () { |
||||
unset -f setup cleanup die |
||||
unset _PROFILE |
||||
rm -f .bashrc .bash_profile .zshrc .profile test_profile > /dev/null 2>&1 |
||||
} |
||||
die () { echo $@ ; cleanup ; exit 1; } |
||||
|
||||
NVM_ENV=testing . ../../install.sh |
||||
|
||||
setup () { |
||||
touch .bashrc |
||||
touch .bash_profile |
||||
touch .zshrc |
||||
touch .profile |
||||
touch test_profile |
||||
} |
||||
|
||||
#Let's hack $HOME |
||||
HOME="." |
||||
|
||||
setup |
||||
|
||||
|
||||
# $PROFILE points to a valid file, its path must be returned |
||||
PROFILE="test_profile" |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" = "_$PROFILE" ] || die "nvm_detect_profile didn't pick \$PROFILE" |
||||
|
||||
# $PROFILE doesn't point to a valid file, its path must not be returned |
||||
PROFILE="invalid_profile" |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" != "_$PROFILE" ] || die "nvm_detect_profile shouldn't pick \$PROFILE when it's not a valid file" |
||||
|
||||
|
||||
# Below are tests for when $PROFILE is undefined |
||||
rm test_profile |
||||
unset PROFILE |
||||
|
||||
# It should favor .bashrc if file exists |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" = "_$HOME/.bashrc" ] || die "nvm_detect_profile should have selected .bashrc" |
||||
|
||||
rm .bashrc |
||||
# Otherwise, it should favor .bash_profile if file exists |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" = "_$HOME/.bash_profile" ] || die "nvm_detect_profile should have selected .bash_profile" |
||||
|
||||
rm .bash_profile |
||||
# Otherwise, it should favor .zshrc if file exists |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" = "_$HOME/.zshrc" ] || die "nvm_detect_profile should have selected .zshrc" |
||||
|
||||
rm .zshrc |
||||
# Otherwise, it should favor .profile if file exists |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ "_$_PROFILE" = "_$HOME/.profile" ] || die "nvm_detect_profile should have selected .profile" |
||||
|
||||
rm .profile |
||||
# It should be empty if none is found |
||||
_PROFILE=$(nvm_detect_profile) |
||||
[ -z "$_PROFILE" ] || die "nvm_detect_profile should have echo'ed an empty value" |
||||
|
||||
|
||||
cleanup |
||||
|
Loading…
Reference in new issue