Add error checking to nvm_tree_contains_path

master
Jordan Harband 2014-08-21 17:15:53 -07:00
parent 6e6c5c4e2a
commit 5c7f08843d
2 changed files with 11 additions and 0 deletions

6
nvm.sh
View File

@ -58,6 +58,12 @@ nvm_tree_contains_path() {
tree="$1" tree="$1"
local node_path local node_path
node_path="$2" node_path="$2"
if [ "@$tree@" = "@@" ] || [ "@$node_path@" = "@@" ]; then
>&2 echo "both the tree and the node path are required"
return 2
fi
local pathdir local pathdir
pathdir=$(dirname "$node_path") pathdir=$(dirname "$node_path")
while [ "$pathdir" != "" ] && [ "$pathdir" != "." ] && [ "$pathdir" != "/" ] && [ "$pathdir" != "$tree" ]; do while [ "$pathdir" != "" ] && [ "$pathdir" != "." ] && [ "$pathdir" != "/" ] && [ "$pathdir" != "$tree" ]; do

View File

@ -15,6 +15,11 @@ touch tmp/node
mkdir -p tmp2 mkdir -p tmp2
touch tmp2/node touch tmp2/node
[ "$(nvm_tree_contains_path 2>&1)" = "both the tree and the node path are required" ] || die 'incorrect error message with no args'
[ "$(nvm_tree_contains_path > /dev/null 2>&1 ; echo $?)" = "2" ] || die 'incorrect error code with no args'
[ "$(nvm_tree_contains_path tmp 2>&1)" = "both the tree and the node path are required" ] || die 'incorrect error message with one arg'
[ "$(nvm_tree_contains_path > /dev/null 2>&1 ; echo $?)" = "2" ] || die 'incorrect error code with one arg'
nvm_tree_contains_path tmp tmp/node || die '"tmp" should contain "tmp/node"' nvm_tree_contains_path tmp tmp/node || die '"tmp" should contain "tmp/node"'
nvm_tree_contains_path tmp tmp2/node && die '"tmp" should not contain "tmp2/node"' nvm_tree_contains_path tmp tmp2/node && die '"tmp" should not contain "tmp2/node"'