mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Jeff King](/assets/img/avatar_default.png)
We were not testing the output of "git branch" anywhere.
Not only does this not protect us against regressions in the
output, but we are not exercising code paths which may have
bugs (such as the one fixed by 45e2b61
).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
82 lines
1.6 KiB
Bash
Executable file
82 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='git branch display tests'
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'make commits' '
|
|
echo content >file &&
|
|
git add file &&
|
|
git commit -m one &&
|
|
echo content >>file &&
|
|
git commit -a -m two
|
|
'
|
|
|
|
test_expect_success 'make branches' '
|
|
git branch branch-one
|
|
git branch branch-two HEAD^
|
|
'
|
|
|
|
test_expect_success 'make remote branches' '
|
|
git update-ref refs/remotes/origin/branch-one branch-one
|
|
git update-ref refs/remotes/origin/branch-two branch-two
|
|
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/branch-one
|
|
'
|
|
|
|
cat >expect <<'EOF'
|
|
branch-one
|
|
branch-two
|
|
* master
|
|
EOF
|
|
test_expect_success 'git branch shows local branches' '
|
|
git branch >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
cat >expect <<'EOF'
|
|
origin/HEAD -> origin/branch-one
|
|
origin/branch-one
|
|
origin/branch-two
|
|
EOF
|
|
test_expect_success 'git branch -r shows remote branches' '
|
|
git branch -r >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
cat >expect <<'EOF'
|
|
branch-one
|
|
branch-two
|
|
* master
|
|
remotes/origin/HEAD -> origin/branch-one
|
|
remotes/origin/branch-one
|
|
remotes/origin/branch-two
|
|
EOF
|
|
test_expect_success 'git branch -a shows local and remote branches' '
|
|
git branch -a >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
cat >expect <<'EOF'
|
|
two
|
|
one
|
|
two
|
|
EOF
|
|
test_expect_success 'git branch -v shows branch summaries' '
|
|
git branch -v >tmp &&
|
|
awk "{print \$NF}" <tmp >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
cat >expect <<'EOF'
|
|
* (no branch)
|
|
branch-one
|
|
branch-two
|
|
master
|
|
EOF
|
|
test_expect_success 'git branch shows detached HEAD properly' '
|
|
git checkout HEAD^0 &&
|
|
git branch >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_done
|