summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCrestez Dan Leonard <cdleonard@gmail.com>2010-02-09 15:45:40 +0200
committerCrestez Dan Leonard <cdleonard@gmail.com>2010-02-09 15:45:40 +0200
commitebdd9cefdc33a80aa51192df66e24616ddb4a9b2 (patch)
treedae105077f38b49a52da84b6d20e523f20fb2c88
parent6b30acc9ac24a2bf9650499da7d805ad5cf4fea8 (diff)
parentaac11de466f9a22312329e91769d0c84ae347407 (diff)
downloadbash-completion-ebdd9cefdc33a80aa51192df66e24616ddb4a9b2.tar.gz
Merge branch 'space-fix': Fix tests when BASH_COMPLETION or TESTDIR contain
spaces. Conflicts: CHANGES
-rw-r--r--CHANGES1
-rw-r--r--bash_completion12
-rw-r--r--contrib/mount2
-rw-r--r--test/lib/completions/scp.exp2
-rw-r--r--test/lib/completions/screen.exp2
-rw-r--r--test/lib/completions/sftp.exp2
-rw-r--r--test/lib/completions/ssh.exp4
-rw-r--r--test/lib/library.exp12
-rw-r--r--test/unit/compgen.exp2
9 files changed, 20 insertions, 19 deletions
diff --git a/CHANGES b/CHANGES
index 2b0ff4ed..db5ef761 100644
--- a/CHANGES
+++ b/CHANGES
@@ -69,6 +69,7 @@ bash-completion (2.x)
* Fix NFS mounts completion (Alioth: #312285).
* Fix completion of usernames (Alioth: #311396, Debian: #511788).
* Fix chown test crashing on systems with no root group (Alioth: #312306).
+ * Fixed tests when BASH_COMPLETION or TESTDIR contain spaces.
[ Raphaƫl Droz ]
* Add xsltproc completion (Alioth: #311843).
diff --git a/bash_completion b/bash_completion
index 84f9bd07..904a8be2 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1810,7 +1810,7 @@ _filedir_xspec()
# get first exclusion compspec that matches this command
xspec=$( awk "/^complete[ \t]+.*[ \t]${1##*/}([ \t]|\$)/ { print \$0; exit }" \
- $BASH_COMPLETION )
+ "$BASH_COMPLETION" )
# prune to leave nothing but the -X spec
xspec=${xspec#*-X }
xspec=${xspec%% *}
@@ -1837,7 +1837,7 @@ _filedir_xspec()
COMPREPLY=( "${toks[@]}" )
}
-list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' $BASH_COMPLETION | \
+list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' "$BASH_COMPLETION" | \
# read exclusion compspecs
(
while read line
@@ -1863,19 +1863,19 @@ unset list
# source completion directory definitions
if [[ -d $BASH_COMPLETION_COMPAT_DIR && -r $BASH_COMPLETION_COMPAT_DIR && \
-x $BASH_COMPLETION_COMPAT_DIR ]]; then
- for i in $(LC_ALL=C command ls $BASH_COMPLETION_COMPAT_DIR); do
+ for i in $(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR"); do
i=$BASH_COMPLETION_COMPAT_DIR/$i
[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \
- && ( -f $i || -h $i ) && -r $i ]] && . $i
+ && ( -f $i || -h $i ) && -r $i ]] && . "$i"
done
fi
if [[ $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR && \
-d $BASH_COMPLETION_DIR && -r $BASH_COMPLETION_DIR && \
-x $BASH_COMPLETION_DIR ]]; then
- for i in $(LC_ALL=C command ls $BASH_COMPLETION_DIR); do
+ for i in $(LC_ALL=C command ls "$BASH_COMPLETION_DIR"); do
i=$BASH_COMPLETION_DIR/$i
[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \
- && ( -f $i || -h $i ) && -r $i ]] && . $i
+ && ( -f $i || -h $i ) && -r $i ]] && . "$i"
done
fi
unset i
diff --git a/contrib/mount b/contrib/mount
index d8ba81bc..1f0d8a4a 100644
--- a/contrib/mount
+++ b/contrib/mount
@@ -17,7 +17,7 @@ _mount()
[[ "$cur" == \\ ]] && cur="/"
if [[ "$cur" == *:* ]]; then
- for sm in $(type -P showmount) {,/usr}/{,s}bin/showmount; do
+ for sm in "$(type -P showmount)" {,/usr}/{,s}bin/showmount; do
[ -x "$sm" ] || continue
COMPREPLY=( $( compgen -W "$( "$sm" -e ${cur%%:*} | \
awk 'NR>1 {print $1}' )" -- "${cur#*:}" ) )
diff --git a/test/lib/completions/scp.exp b/test/lib/completions/scp.exp
index 4203b5ef..efe2b686 100644
--- a/test/lib/completions/scp.exp
+++ b/test/lib/completions/scp.exp
@@ -112,7 +112,7 @@ if {[match_items [lsort -unique $expected] $test]} {
if {[lindex $::BASH_VERSINFO 0] >= 4} {xfail "$test"} {fail "$test"}
}; # if
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
sync_after_int
diff --git a/test/lib/completions/screen.exp b/test/lib/completions/screen.exp
index 53e94b18..62c57362 100644
--- a/test/lib/completions/screen.exp
+++ b/test/lib/completions/screen.exp
@@ -42,7 +42,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
diff --git a/test/lib/completions/sftp.exp b/test/lib/completions/sftp.exp
index 59faaabf..24c37cb5 100644
--- a/test/lib/completions/sftp.exp
+++ b/test/lib/completions/sftp.exp
@@ -71,7 +71,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
teardown
diff --git a/test/lib/completions/ssh.exp b/test/lib/completions/ssh.exp
index 2bec70c1..91955c1d 100644
--- a/test/lib/completions/ssh.exp
+++ b/test/lib/completions/ssh.exp
@@ -29,7 +29,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
sync_after_int
@@ -84,7 +84,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
sync_after_int
diff --git a/test/lib/library.exp b/test/lib/library.exp
index 0092f3fb..00dd8469 100644
--- a/test/lib/library.exp
+++ b/test/lib/library.exp
@@ -102,7 +102,7 @@ proc assert_bash_list_dir {expected cmd dir {test ""} {prompt /@} {size 20}} {
assert_bash_exec "cd $dir" "" $prompt
assert_bash_list $expected $cmd $test $prompt $size
sync_after_int $prompt
- assert_bash_exec "cd \$TESTDIR"
+ assert_bash_exec {cd "$TESTDIR"}
}; # assert_bash_list_dir()
@@ -272,7 +272,7 @@ proc assert_complete_dir {expected cmd dir {test ""} {size 20} {cword ""}} {
assert_bash_exec "cd $dir" "" $prompt
assert_complete $expected $cmd $test $prompt $size $cword
sync_after_int $prompt
- assert_bash_exec "cd \$TESTDIR"
+ assert_bash_exec {cd "$TESTDIR"}
}; # assert_complete_dir
@@ -692,16 +692,16 @@ proc save_env {{file ""}} {
# @param string File to save the environment to. Default is "$TESTDIR/tmp/env1~".
# @see assert_env_unmodified()
proc _save_env {{file ""}} {
- assert_bash_exec "{ set; declare -F; shopt -p; } > $file"
+ assert_bash_exec "{ set; declare -F; shopt -p; } > \"$file\""
}; # _save_env()
# Source bash_completion package
proc source_bash_completion {} {
- assert_bash_exec {BASH_COMPLETION_DIR=$(cd $TESTDIR/..; pwd)/contrib}
+ assert_bash_exec {BASH_COMPLETION_DIR=$(cd "$TESTDIR/.."; pwd)/contrib}
assert_bash_exec {BASH_COMPLETION_COMPAT_DIR=$BASH_COMPLETION_DIR}
- assert_bash_exec {BASH_COMPLETION=$(cd $TESTDIR/..; pwd)/bash_completion}
- assert_bash_exec {source $BASH_COMPLETION}
+ assert_bash_exec {BASH_COMPLETION=$(cd "$TESTDIR/.."; pwd)/bash_completion}
+ assert_bash_exec {source "$BASH_COMPLETION"}
}; # source_bash_completion()
diff --git a/test/unit/compgen.exp b/test/unit/compgen.exp
index 8c33c414..6673bf0e 100644
--- a/test/unit/compgen.exp
+++ b/test/unit/compgen.exp
@@ -41,7 +41,7 @@ expect {
-re eof { unresolved "eof" }
}; # expect
sync_after_int $prompt
-assert_bash_exec "cd \$TESTDIR"
+assert_bash_exec {cd "$TESTDIR"}
#assert_bash_list_dir {a\\\'b/c} $cmd fixtures/compgen