t0008: avoid brace expansion
[gitweb.git] / t / t9902-completion.sh
index de1c3e91d315ba135bbc3b7a9f8fc87e3a43271d..256e6a0b3f3d001482cf0a21605f6a860d935d58 100755 (executable)
@@ -63,7 +63,7 @@ run_completion ()
        local _cword
        _words=( $1 )
        (( _cword = ${#_words[@]} - 1 ))
-       _git && print_comp
+       __git_wrap__git_main && print_comp
 }
 
 test_completion ()
@@ -179,9 +179,12 @@ test_expect_success 'double dash "git" itself' '
        --bare Z
        --version Z
        --exec-path Z
+       --exec-path=
        --html-path Z
+       --info-path Z
        --work-tree=
        --namespace=
+       --no-replace-objects Z
        --help Z
        EOF
        test_completion "git --"
@@ -202,4 +205,39 @@ test_expect_success 'double dash "git checkout"' '
        test_completion "git checkout --"
 '
 
+test_expect_success 'general options' '
+       test_completion "git --ver" "--version " &&
+       test_completion "git --hel" "--help " &&
+       sed -e "s/Z$//" >expected <<-\EOF &&
+       --exec-path Z
+       --exec-path=
+       EOF
+       test_completion "git --exe" &&
+       test_completion "git --htm" "--html-path " &&
+       test_completion "git --pag" "--paginate " &&
+       test_completion "git --no-p" "--no-pager " &&
+       test_completion "git --git" "--git-dir=" &&
+       test_completion "git --wor" "--work-tree=" &&
+       test_completion "git --nam" "--namespace=" &&
+       test_completion "git --bar" "--bare " &&
+       test_completion "git --inf" "--info-path " &&
+       test_completion "git --no-r" "--no-replace-objects "
+'
+
+test_expect_success 'general options plus command' '
+       test_completion "git --version check" "checkout " &&
+       test_completion "git --paginate check" "checkout " &&
+       test_completion "git --git-dir=foo check" "checkout " &&
+       test_completion "git --bare check" "checkout " &&
+       test_completion "git --help des" "describe " &&
+       test_completion "git --exec-path=foo check" "checkout " &&
+       test_completion "git --html-path check" "checkout " &&
+       test_completion "git --no-pager check" "checkout " &&
+       test_completion "git --work-tree=foo check" "checkout " &&
+       test_completion "git --namespace=foo check" "checkout " &&
+       test_completion "git --paginate check" "checkout " &&
+       test_completion "git --info-path check" "checkout " &&
+       test_completion "git --no-replace-objects check" "checkout "
+'
+
 test_done