aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test6.in34
-rw-r--r--tests/test6.out2
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/test6.in b/tests/test6.in
index 252eb606..0d6ef487 100644
--- a/tests/test6.in
+++ b/tests/test6.in
@@ -72,3 +72,37 @@ if begin; rm -rf test6.tmp.dir; and mkdir test6.tmp.dir; end
else
echo "error: could not create temp environment" >&2
end
+
+# Test command expansion with parened PATHs (#952)
+begin
+ set -l parened_path $PWD/'test6.tmp2.(paren).dir'
+ set -l parened_subpath $parened_path/subdir
+ if not begin
+ rm -rf $parened_path
+ and mkdir $parened_path
+ and mkdir $parened_subpath
+ and ln -s /bin/ls $parened_path/'__test6_(paren)_command'
+ and ln -s /bin/ls $parened_subpath/'__test6_subdir_(paren)_command'
+ end
+ echo "error: could not create command expansion temp environment" >&2
+ end
+
+ # Verify that we can expand commands when PATH has parens
+ set -l PATH $parened_path $PATH
+ set -l completed (complete -C__test6_ | cut -f 1 -d \t)
+ if test "$completed" = '__test6_(paren)_command'
+ echo "Command completion with parened PATHs test passed"
+ else
+ echo "Command completion with parened PATHs test failed. Expected __test6_(paren)_command, got $completed" >&2
+ end
+
+ # Verify that commands with intermediate slashes do NOT expand with respect to PATH
+ set -l completed (complete -Csubdir/__test6_subdir)
+ if test -z "$completed"
+ echo "Command completion with intermediate slashes passed"
+ else
+ echo "Command completion with intermediate slashes: should output nothing, instead got $completed" >&2
+ end
+
+ rm -rf $parened_path
+end
diff --git a/tests/test6.out b/tests/test6.out
index 268b05ea..ca6e6906 100644
--- a/tests/test6.out
+++ b/tests/test6.out
@@ -33,3 +33,5 @@ CCCC:
implicit cd complete works
no implicit cd complete after 'command'
PATH does not cause incorrect implicit cd
+Command completion with parened PATHs test passed
+Command completion with intermediate slashes passed