@@ -78,6 +78,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)
@@ -455,8 +461,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
'
@@ -550,7 +555,7 @@ test_expect_success '__gitcomp - equal skip' '
'
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
@@ -589,7 +594,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' '
@@ -1090,8 +1095,7 @@ test_expect_success '__git_complete_refs - simple' '
EOF
(
cur= &&
- __git_complete_refs &&
- print_comp
+ run_func __git_complete_refs
) &&
test_cmp expected out
'
@@ -1103,8 +1107,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
'
@@ -1117,8 +1120,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
'
@@ -1136,8 +1138,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
'
@@ -1149,8 +1150,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
'
@@ -1162,8 +1162,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
'
@@ -1179,8 +1178,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
'
@@ -1193,8 +1191,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
'
@@ -1205,8 +1202,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
'
@@ -1219,8 +1215,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
'
@@ -1233,8 +1228,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
'
@@ -1247,8 +1241,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
'
@@ -1779,8 +1772,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
}
@@ -2302,8 +2294,7 @@ do
words=(git push '$flag' other ma) &&
cword=${#words[@]} cur=${words[cword-1]} &&
__git_cmd_idx=1 &&
- __git_complete_remote_or_refspec &&
- print_comp
+ run_func __git_complete_remote_or_refspec
) &&
test_cmp expected out
'
@@ -2316,8 +2307,7 @@ do
words=(git push other '$flag' ma) &&
cword=${#words[@]} cur=${words[cword-1]} &&
__git_cmd_idx=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(-)