@@ -75,6 +75,12 @@ run_completion ()
__git_wrap__git_main && print_comp
}
+run_func ()
+{
+ local -a COMPREPLY &&
+ "$@" && print_comp
+}
+
# Test high-level completion
# Arguments are:
# 1: typed text so far (cur)
@@ -452,8 +458,7 @@ test_expect_success '__gitcomp_direct - puts everything into COMPREPLY as-is' '
EOF
(
cur=should_be_ignored &&
- __gitcomp_direct "$(cat expected)" &&
- print_comp
+ run_func __gitcomp_direct "$(cat expected)"
) &&
test_cmp expected out
'
@@ -538,7 +543,7 @@ test_expect_success '__gitcomp - expand/narrow all negative options' '
'
test_expect_success '__gitcomp - doesnt fail because of invalid variable name' '
- __gitcomp "$invalid_variable_name"
+ run_func __gitcomp "$invalid_variable_name"
'
read -r -d "" refs <<-\EOF
@@ -577,7 +582,7 @@ test_expect_success '__gitcomp_nl - no suffix' '
'
test_expect_success '__gitcomp_nl - doesnt fail because of invalid variable name' '
- __gitcomp_nl "$invalid_variable_name"
+ run_func __gitcomp_nl "$invalid_variable_name"
'
test_expect_success '__git_remotes - list remotes from $GIT_DIR/remotes and from config file' '
@@ -1077,8 +1082,7 @@ test_expect_success '__git_complete_refs - simple' '
EOF
(
cur= &&
- __git_complete_refs &&
- print_comp
+ run_func __git_complete_refs
) &&
test_cmp expected out
'
@@ -1090,8 +1094,7 @@ test_expect_success '__git_complete_refs - matching' '
EOF
(
cur=mat &&
- __git_complete_refs &&
- print_comp
+ run_func __git_complete_refs
) &&
test_cmp expected out
'
@@ -1104,8 +1107,7 @@ test_expect_success '__git_complete_refs - remote' '
EOF
(
cur= &&
- __git_complete_refs --remote=other &&
- print_comp
+ run_func __git_complete_refs --remote=other
) &&
test_cmp expected out
'
@@ -1123,8 +1125,7 @@ test_expect_success '__git_complete_refs - track' '
EOF
(
cur= &&
- __git_complete_refs --track &&
- print_comp
+ run_func __git_complete_refs --track
) &&
test_cmp expected out
'
@@ -1136,8 +1137,7 @@ test_expect_success '__git_complete_refs - current word' '
EOF
(
cur="--option=mat" &&
- __git_complete_refs --cur="${cur#*=}" &&
- print_comp
+ run_func __git_complete_refs --cur="${cur#*=}"
) &&
test_cmp expected out
'
@@ -1149,8 +1149,7 @@ test_expect_success '__git_complete_refs - prefix' '
EOF
(
cur=v1.0..mat &&
- __git_complete_refs --pfx=v1.0.. --cur=mat &&
- print_comp
+ run_func __git_complete_refs --pfx=v1.0.. --cur=mat
) &&
test_cmp expected out
'
@@ -1166,8 +1165,7 @@ test_expect_success '__git_complete_refs - suffix' '
EOF
(
cur= &&
- __git_complete_refs --sfx=. &&
- print_comp
+ run_func __git_complete_refs --sfx=.
) &&
test_cmp expected out
'
@@ -1180,8 +1178,7 @@ test_expect_success '__git_complete_fetch_refspecs - simple' '
EOF
(
cur= &&
- __git_complete_fetch_refspecs other &&
- print_comp
+ run_func __git_complete_fetch_refspecs other
) &&
test_cmp expected out
'
@@ -1192,8 +1189,7 @@ test_expect_success '__git_complete_fetch_refspecs - matching' '
EOF
(
cur=br &&
- __git_complete_fetch_refspecs other "" br &&
- print_comp
+ run_func __git_complete_fetch_refspecs other "" br
) &&
test_cmp expected out
'
@@ -1206,8 +1202,7 @@ test_expect_success '__git_complete_fetch_refspecs - prefix' '
EOF
(
cur="+" &&
- __git_complete_fetch_refspecs other "+" "" &&
- print_comp
+ run_func __git_complete_fetch_refspecs other "+" ""
) &&
test_cmp expected out
'
@@ -1220,8 +1215,7 @@ test_expect_success '__git_complete_fetch_refspecs - fully qualified' '
EOF
(
cur=refs/ &&
- __git_complete_fetch_refspecs other "" refs/ &&
- print_comp
+ run_func __git_complete_fetch_refspecs other "" refs/
) &&
test_cmp expected out
'
@@ -1234,8 +1228,7 @@ test_expect_success '__git_complete_fetch_refspecs - fully qualified & prefix' '
EOF
(
cur=+refs/ &&
- __git_complete_fetch_refspecs other + refs/ &&
- print_comp
+ run_func __git_complete_fetch_refspecs other + refs/
) &&
test_cmp expected out
'
@@ -1714,8 +1707,7 @@ test_path_completion ()
# unusual characters in path names. By requesting only
# untracked files we do not have to bother adding any
# paths to the index in those tests.
- __git_complete_index_file --others &&
- print_comp
+ run_func __git_complete_index_file --others
) &&
test_cmp expected out
}
@@ -2200,8 +2192,7 @@ do
(
words=(git push '$flag' other ma) &&
cword=${#words[@]} cur=${words[cword-1]} &&
- __git_complete_remote_or_refspec &&
- print_comp
+ run_func __git_complete_remote_or_refspec
) &&
test_cmp expected out
'
@@ -2213,8 +2204,7 @@ do
(
words=(git push other '$flag' ma) &&
cword=${#words[@]} cur=${words[cword-1]} &&
- __git_complete_remote_or_refspec &&
- print_comp
+ run_func __git_complete_remote_or_refspec
) &&
test_cmp expected out
'
Pretty straightforward: runs functions. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- t/t9902-completion.sh | 58 ++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 34 deletions(-)