git/t/t3202-show-branch.sh
Ævar Arnfjörð Bjarmason 9b6e74a9c0 show-branch tests: modernize test code
Modernize test code added in ce567d1867 (Add test to show that
show-branch misses out the 8th column, 2008-07-23) and
11ee57bc4c (sort_in_topological_order(): avoid setting a commit flag,
2008-07-23) to use test helpers.

I'm renaming "out" to "actual" for consistency with other tests, and
introducing a "branches.sorted" file in the setup, to make it clear
that it's important that the list be sorted in this particular way.

The "show-branch" output is indented with spaces, which would cause
complaints under "git show --check" with an indented here-doc
block. Let's prefix the lines with "> " to work around that, and to
make it clear that the leading whitespace is important.

We can also get rid of the hardcoding of "main" added here in
334afbc76f (tests: mark tests relying on the current default for
`init.defaultBranch`, 2020-11-18). For this test we're setting up an
"initial" commit anyway, and now that we've moved over to test_commit
we can reference that instead.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-06-15 12:12:01 +09:00

59 lines
1.4 KiB
Bash
Executable file

#!/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_done