pack-redundant: consistent sort method
[gitweb.git] / t / t9902-completion.sh
index 532df85c43855cbb90d6a329ec363c53cc0bd6ae..6558eee4996e21a64a1b43b5d293cab683686429 100755 (executable)
@@ -501,6 +501,42 @@ test_expect_success '__gitcomp - suffix' '
        EOF
 '
 
+test_expect_success '__gitcomp - ignore optional negative options' '
+       test_gitcomp "--" "--abc --def --no-one -- --no-two" <<-\EOF
+       --abc Z
+       --def Z
+       --no-one Z
+       --no-... Z
+       EOF
+'
+
+test_expect_success '__gitcomp - ignore/narrow optional negative options' '
+       test_gitcomp "--a" "--abc --abcdef --no-one -- --no-two" <<-\EOF
+       --abc Z
+       --abcdef Z
+       EOF
+'
+
+test_expect_success '__gitcomp - ignore/narrow optional negative options' '
+       test_gitcomp "--n" "--abc --def --no-one -- --no-two" <<-\EOF
+       --no-one Z
+       --no-... Z
+       EOF
+'
+
+test_expect_success '__gitcomp - expand all negative options' '
+       test_gitcomp "--no-" "--abc --def --no-one -- --no-two" <<-\EOF
+       --no-one Z
+       --no-two Z
+       EOF
+'
+
+test_expect_success '__gitcomp - expand/narrow all negative options' '
+       test_gitcomp "--no-o" "--abc --def --no-one -- --no-two" <<-\EOF
+       --no-one Z
+       EOF
+'
+
 test_expect_success '__gitcomp - doesnt fail because of invalid variable name' '
        __gitcomp "$invalid_variable_name"
 '
@@ -1067,7 +1103,7 @@ test_expect_success '__git_complete_refs - remote' '
        master-in-other Z
        EOF
        (
-               cur=
+               cur= &&
                __git_complete_refs --remote=other &&
                print_comp
        ) &&
@@ -1086,7 +1122,7 @@ test_expect_success '__git_complete_refs - track' '
        master-in-other Z
        EOF
        (
-               cur=
+               cur= &&
                __git_complete_refs --track &&
                print_comp
        ) &&
@@ -1213,7 +1249,7 @@ test_expect_success 'teardown after ref completion' '
 
 test_path_completion ()
 {
-       test $# = 2 || error "bug in the test script: not 2 parameters to test_path_completion"
+       test $# = 2 || BUG "not 2 parameters to test_path_completion"
 
        local cur="$1" expected="$2"
        echo "$expected" >expected &&
@@ -1398,8 +1434,9 @@ test_expect_success 'double dash "git checkout"' '
        --ignore-other-worktrees Z
        --recurse-submodules Z
        --progress Z
-       --no-track Z
-       --no-recurse-submodules Z
+       --guess Z
+       --no-guess Z
+       --no-... Z
        EOF
 '
 
@@ -1503,7 +1540,7 @@ test_expect_success 'complete tree filename with metacharacters' '
        EOF
 '
 
-test_expect_success 'send-email' '
+test_expect_success PERL 'send-email' '
        test_completion "git send-email --cov" "--cover-letter " &&
        test_completion "git send-email ma" "master "
 '
@@ -1607,6 +1644,7 @@ test_expect_success 'completion used <cmd> completion for alias: !f() { : git <c
 test_expect_success 'completion without explicit _git_xxx function' '
        test_completion "git version --" <<-\EOF
        --build-options Z
+       --no-build-options Z
        EOF
 '
 
@@ -1660,7 +1698,8 @@ test_expect_success 'sourcing the completion script clears cached commands' '
        verbose test -z "$__git_all_commands"
 '
 
-test_expect_success !GETTEXT_POISON 'sourcing the completion script clears cached merge strategies' '
+test_expect_success 'sourcing the completion script clears cached merge strategies' '
+       GIT_TEST_GETTEXT_POISON= &&
        __git_compute_merge_strategies &&
        verbose test -n "$__git_merge_strategies" &&
        . "$GIT_BUILD_DIR/contrib/completion/git-completion.bash" &&