Add nvm_tree_contains_path function
diff --git a/nvm.sh b/nvm.sh
index 1991ddc..609474d 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -53,6 +53,19 @@
export NVM_NODEJS_ORG_MIRROR="http://nodejs.org/dist"
fi
+nvm_tree_contains_path() {
+ local tree
+ tree="$1"
+ local path
+ path="$2"
+ local pathdir
+ pathdir=$(dirname "$path")
+ while [ "$pathdir" != "" ] && [ "$pathdir" != "." ] && [ "$pathdir" != "/" ] && [ "$pathdir" != "$tree" ]; do
+ pathdir=$(dirname "$pathdir")
+ done
+ [ "$pathdir" = "$tree" ]
+}
+
# Traverse up in directory tree to find containing folder
nvm_find_up() {
local path
diff --git a/test/fast/Unit tests/nvm_tree_contains_path b/test/fast/Unit tests/nvm_tree_contains_path
new file mode 100755
index 0000000..0ddfb86
--- /dev/null
+++ b/test/fast/Unit tests/nvm_tree_contains_path
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+cleanup () {
+ rm tmp/node
+ rmdir tmp
+ rm tmp2/node
+ rmdir tmp2
+}
+die () { echo $@ ; cleanup; exit 1; }
+
+. ../../../nvm.sh
+
+mkdir -p tmp
+touch -p tmp/node
+mkdir -p tmp2
+touch -p tmp2/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 tmp2 tmp2/node || die '"tmp2" should contain "tmp2/node"'
+
+nvm_tree_contains_path tmp2 tmp/node && die '"tmp2" should not contain "tmp/node"'
+
+cleanup
+