Merge branch 'ab/show-branch-tests'
Fill test gaps. * ab/show-branch-tests: show-branch tests: add missing tests show-branch: don't <COLOR></RESET> for space characters show-branch tests: modernize test code show-branch tests: rename the one "show-branch" test filemaint
commit
1fb3445658
|
|
@ -939,9 +939,12 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
|
||||||
mark = '*';
|
mark = '*';
|
||||||
else
|
else
|
||||||
mark = '+';
|
mark = '+';
|
||||||
printf("%s%c%s",
|
if (mark == ' ')
|
||||||
get_color_code(i),
|
putchar(mark);
|
||||||
mark, get_color_reset_code());
|
else
|
||||||
|
printf("%s%c%s",
|
||||||
|
get_color_code(i),
|
||||||
|
mark, get_color_reset_code());
|
||||||
}
|
}
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
test_description='test show-branch with more than 8 heads'
|
|
||||||
|
|
||||||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
||||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
||||||
|
|
||||||
. ./test-lib.sh
|
|
||||||
|
|
||||||
numbers="1 2 3 4 5 6 7 8 9 10"
|
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
|
||||||
|
|
||||||
> file &&
|
|
||||||
git add file &&
|
|
||||||
test_tick &&
|
|
||||||
git commit -m initial &&
|
|
||||||
|
|
||||||
for i in $numbers
|
|
||||||
do
|
|
||||||
git checkout -b branch$i main &&
|
|
||||||
> file$i &&
|
|
||||||
git add file$i &&
|
|
||||||
test_tick &&
|
|
||||||
git commit -m branch$i || return 1
|
|
||||||
done
|
|
||||||
|
|
||||||
'
|
|
||||||
|
|
||||||
cat > expect << EOF
|
|
||||||
! [branch1] branch1
|
|
||||||
! [branch2] branch2
|
|
||||||
! [branch3] branch3
|
|
||||||
! [branch4] branch4
|
|
||||||
! [branch5] branch5
|
|
||||||
! [branch6] branch6
|
|
||||||
! [branch7] branch7
|
|
||||||
! [branch8] branch8
|
|
||||||
! [branch9] branch9
|
|
||||||
* [branch10] branch10
|
|
||||||
----------
|
|
||||||
* [branch10] branch10
|
|
||||||
+ [branch9] branch9
|
|
||||||
+ [branch8] branch8
|
|
||||||
+ [branch7] branch7
|
|
||||||
+ [branch6] branch6
|
|
||||||
+ [branch5] branch5
|
|
||||||
+ [branch4] branch4
|
|
||||||
+ [branch3] branch3
|
|
||||||
+ [branch2] branch2
|
|
||||||
+ [branch1] branch1
|
|
||||||
+++++++++* [branch10^] initial
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_expect_success 'show-branch with more than 8 branches' '
|
|
||||||
|
|
||||||
git show-branch $(for i in $numbers; do echo branch$i; done) > out &&
|
|
||||||
test_cmp expect out
|
|
||||||
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'show-branch with showbranch.default' '
|
|
||||||
for i in $numbers; do
|
|
||||||
git config --add showbranch.default branch$i
|
|
||||||
done &&
|
|
||||||
git show-branch >out &&
|
|
||||||
test_cmp expect out
|
|
||||||
'
|
|
||||||
|
|
||||||
test_done
|
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='test show-branch'
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
test_commit initial &&
|
||||||
|
for i in $(test_seq 1 10)
|
||||||
|
do
|
||||||
|
git checkout -b branch$i initial &&
|
||||||
|
test_commit --no-tag branch$i
|
||||||
|
done &&
|
||||||
|
git for-each-ref \
|
||||||
|
--sort=version:refname \
|
||||||
|
--format="%(refname:strip=2)" \
|
||||||
|
"refs/heads/branch*" >branches.sorted &&
|
||||||
|
sed "s/^> //" >expect <<-\EOF
|
||||||
|
> ! [branch1] branch1
|
||||||
|
> ! [branch2] branch2
|
||||||
|
> ! [branch3] branch3
|
||||||
|
> ! [branch4] branch4
|
||||||
|
> ! [branch5] branch5
|
||||||
|
> ! [branch6] branch6
|
||||||
|
> ! [branch7] branch7
|
||||||
|
> ! [branch8] branch8
|
||||||
|
> ! [branch9] branch9
|
||||||
|
> * [branch10] branch10
|
||||||
|
> ----------
|
||||||
|
> * [branch10] branch10
|
||||||
|
> + [branch9] branch9
|
||||||
|
> + [branch8] branch8
|
||||||
|
> + [branch7] branch7
|
||||||
|
> + [branch6] branch6
|
||||||
|
> + [branch5] branch5
|
||||||
|
> + [branch4] branch4
|
||||||
|
> + [branch3] branch3
|
||||||
|
> + [branch2] branch2
|
||||||
|
> + [branch1] branch1
|
||||||
|
> +++++++++* [branch10^] initial
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show-branch with more than 8 branches' '
|
||||||
|
git show-branch $(cat branches.sorted) >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show-branch with showbranch.default' '
|
||||||
|
for branch in $(cat branches.sorted)
|
||||||
|
do
|
||||||
|
test_config showbranch.default $branch --add
|
||||||
|
done &&
|
||||||
|
git show-branch >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show-branch --color output' '
|
||||||
|
sed "s/^> //" >expect <<-\EOF &&
|
||||||
|
> <RED>!<RESET> [branch1] branch1
|
||||||
|
> <GREEN>!<RESET> [branch2] branch2
|
||||||
|
> <YELLOW>!<RESET> [branch3] branch3
|
||||||
|
> <BLUE>!<RESET> [branch4] branch4
|
||||||
|
> <MAGENTA>!<RESET> [branch5] branch5
|
||||||
|
> <CYAN>!<RESET> [branch6] branch6
|
||||||
|
> <BOLD;RED>!<RESET> [branch7] branch7
|
||||||
|
> <BOLD;GREEN>!<RESET> [branch8] branch8
|
||||||
|
> <BOLD;YELLOW>!<RESET> [branch9] branch9
|
||||||
|
> <BOLD;BLUE>*<RESET> [branch10] branch10
|
||||||
|
> ----------
|
||||||
|
> <BOLD;BLUE>*<RESET> [branch10] branch10
|
||||||
|
> <BOLD;YELLOW>+<RESET> [branch9] branch9
|
||||||
|
> <BOLD;GREEN>+<RESET> [branch8] branch8
|
||||||
|
> <BOLD;RED>+<RESET> [branch7] branch7
|
||||||
|
> <CYAN>+<RESET> [branch6] branch6
|
||||||
|
> <MAGENTA>+<RESET> [branch5] branch5
|
||||||
|
> <BLUE>+<RESET> [branch4] branch4
|
||||||
|
> <YELLOW>+<RESET> [branch3] branch3
|
||||||
|
> <GREEN>+<RESET> [branch2] branch2
|
||||||
|
> <RED>+<RESET> [branch1] branch1
|
||||||
|
> <RED>+<RESET><GREEN>+<RESET><YELLOW>+<RESET><BLUE>+<RESET><MAGENTA>+<RESET><CYAN>+<RESET><BOLD;RED>+<RESET><BOLD;GREEN>+<RESET><BOLD;YELLOW>+<RESET><BOLD;BLUE>*<RESET> [branch10^] initial
|
||||||
|
EOF
|
||||||
|
git show-branch --color=always $(cat branches.sorted) >actual.raw &&
|
||||||
|
test_decode_color <actual.raw >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --remotes' '
|
||||||
|
cat >expect.err <<-\EOF &&
|
||||||
|
No revs to be shown.
|
||||||
|
EOF
|
||||||
|
git show-branch -r 2>actual.err >actual.out &&
|
||||||
|
test_cmp expect.err actual.err &&
|
||||||
|
test_must_be_empty actual.out
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'setup show branch --list' '
|
||||||
|
sed "s/^> //" >expect <<-\EOF
|
||||||
|
> [branch1] branch1
|
||||||
|
> [branch2] branch2
|
||||||
|
> [branch3] branch3
|
||||||
|
> [branch4] branch4
|
||||||
|
> [branch5] branch5
|
||||||
|
> [branch6] branch6
|
||||||
|
> [branch7] branch7
|
||||||
|
> [branch8] branch8
|
||||||
|
> [branch9] branch9
|
||||||
|
> * [branch10] branch10
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --list' '
|
||||||
|
git show-branch --list $(cat branches.sorted) >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --list has no --color output' '
|
||||||
|
git show-branch --color=always --list $(cat branches.sorted) >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --merge-base with one argument' '
|
||||||
|
for branch in $(cat branches.sorted)
|
||||||
|
do
|
||||||
|
git rev-parse $branch >expect &&
|
||||||
|
git show-branch --merge-base $branch >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
done
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --merge-base with two arguments' '
|
||||||
|
for branch in $(cat branches.sorted)
|
||||||
|
do
|
||||||
|
git rev-parse initial >expect &&
|
||||||
|
git show-branch --merge-base initial $branch >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
done
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'show branch --merge-base with N arguments' '
|
||||||
|
git rev-parse initial >expect &&
|
||||||
|
git show-branch --merge-base $(cat branches.sorted) >actual &&
|
||||||
|
test_cmp expect actual &&
|
||||||
|
|
||||||
|
git merge-base $(cat branches.sorted) >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
||||||
Loading…
Reference in New Issue