Merge pull request #507 from creationix/nvm_ls_current_tests

nvm_ls_current tests
diff --git a/nvm.sh b/nvm.sh
index d588e1a..500e472 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -201,7 +201,7 @@
 
 nvm_ls_current() {
   local NODE_PATH
-  NODE_PATH="$(which node)"
+  NODE_PATH="$(which node 2> /dev/null)"
   if [ $? -ne 0 ]; then
     echo 'none'
   elif nvm_tree_contains_path "$NVM_DIR" "$NODE_PATH"; then
diff --git a/test/fast/Unit tests/nvm_ls_current b/test/fast/Unit tests/nvm_ls_current
new file mode 100755
index 0000000..c475157
--- /dev/null
+++ b/test/fast/Unit tests/nvm_ls_current
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+die () { echo $@ ; exit 1; }
+
+. ../../../nvm.sh
+
+return_zero () { return 0; }
+
+[ "$( (nvm deactivate > /dev/null 2>&1) && nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
+
+TEST_PWD=$(pwd)
+TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
+rm -rf "$TEST_DIR"
+mkdir "$TEST_DIR"
+ln -s "$(which which)" "$TEST_DIR/which"
+ln -s "$(which dirname)" "$TEST_DIR/dirname"
+
+[ "$(PATH="$TEST_DIR" nvm_ls_current)" = "none" ] || die 'when node not installed, nvm_ls_current did not return "none"'
+[ "@$(PATH="$TEST_DIR" nvm_ls_current 2> /dev/stdout 1> /dev/null)@" = "@@" ] || die 'when node not installed, nvm_ls_current returned error output'
+
+echo "#!/bin/bash" > "$TEST_DIR/node"
+echo "echo 'VERSION FOO!'" > "$TEST_DIR/node"
+chmod a+x "$TEST_DIR/node"
+
+[ "$(alias nvm_tree_contains_path='return_zero' && PATH="$TEST_DIR" nvm_ls_current)" = "VERSION FOO!" ] || die 'when activated, did not return nvm node version'
+
+rm -rf "$TEST_DIR"
+