completion: add tests showing subpar switch/checkout --orphan logic
Similar to -c/-C, --orphan takes an argument which is the branch name to use. We ought to complete this branch name using similar rules as to how we complete new branch names for -c/-C and -b/-B. Namely, limit the total number of options provided by completing to the local branches. Additionally, git switch --orphan does not take any start point and will always create using the empty-tree. Thus, after the branch name is completed, git switch --orphan should not complete any references. Add test cases showing the expected behavior of --orphan, for both the argument and starting point. Signed-off-by: Jacob Keller <jacob.keller@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7f59d60429
commit
c81ca56bca
@ -1688,6 +1688,45 @@ test_expect_failure 'git checkout - for -B with --no-track, complete local branc
|
||||
EOF
|
||||
'
|
||||
|
||||
#TODO: --orphan argument completion should not include all references
|
||||
test_expect_failure 'git switch - with --orphan completes local branch names and unique remote branch names' '
|
||||
test_completion "git switch --orphan " <<-\EOF
|
||||
branch-in-other Z
|
||||
master Z
|
||||
master-in-other Z
|
||||
matching-branch Z
|
||||
EOF
|
||||
'
|
||||
|
||||
#TODO: switch --orphan does not take a start-point and thus has nothing to complete
|
||||
test_expect_failure 'git switch - --orphan with branch already provided completes nothing else' '
|
||||
test_completion "git switch --orphan master " <<-\EOF
|
||||
|
||||
EOF
|
||||
'
|
||||
|
||||
#TODO: --orphan argument completion should not include all references
|
||||
test_expect_failure 'git checkout - with --orphan completes local branch names and unique remote branch names' '
|
||||
test_completion "git checkout --orphan " <<-\EOF
|
||||
branch-in-other Z
|
||||
master Z
|
||||
master-in-other Z
|
||||
matching-branch Z
|
||||
EOF
|
||||
'
|
||||
|
||||
#TODO: checkout --orphan start-point completion should not included DWIM remote unique branch names
|
||||
test_expect_failure 'git checkout - --orphan with branch already provided completes local refs for a start-point' '
|
||||
test_completion "git checkout --orphan master " <<-\EOF
|
||||
HEAD Z
|
||||
master Z
|
||||
matching-branch Z
|
||||
matching-tag Z
|
||||
other/branch-in-other Z
|
||||
other/master-in-other Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'teardown after ref completion' '
|
||||
git branch -d matching-branch &&
|
||||
git tag -d matching-tag &&
|
||||
|
Loading…
Reference in New Issue
Block a user