Imported Upstream version 2.22.0
[platform/upstream/git.git] / t / t3203-branch-output.sh
index d2aec0f..be55148 100755 (executable)
@@ -100,6 +100,50 @@ test_expect_success 'git branch -v pattern does not show branch summaries' '
        test_must_fail git branch -v branch*
 '
 
+test_expect_success 'git branch `--show-current` shows current branch' '
+       cat >expect <<-\EOF &&
+       branch-two
+       EOF
+       git checkout branch-two &&
+       git branch --show-current >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'git branch `--show-current` is silent when detached HEAD' '
+       git checkout HEAD^0 &&
+       git branch --show-current >actual &&
+       test_must_be_empty actual
+'
+
+test_expect_success 'git branch `--show-current` works properly when tag exists' '
+       cat >expect <<-\EOF &&
+       branch-and-tag-name
+       EOF
+       test_when_finished "
+               git checkout branch-one
+               git branch -D branch-and-tag-name
+       " &&
+       git checkout -b branch-and-tag-name &&
+       test_when_finished "git tag -d branch-and-tag-name" &&
+       git tag branch-and-tag-name &&
+       git branch --show-current >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'git branch `--show-current` works properly with worktrees' '
+       cat >expect <<-\EOF &&
+       branch-one
+       branch-two
+       EOF
+       git checkout branch-one &&
+       git worktree add worktree branch-two &&
+       {
+               git branch --show-current &&
+               git -C worktree branch --show-current
+       } >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'git branch shows detached HEAD properly' '
        cat >expect <<EOF &&
 * (HEAD detached at $(git rev-parse --short HEAD^0))
@@ -253,13 +297,7 @@ test_expect_success '%(color) omitted without tty' '
 '
 
 test_expect_success TTY '%(color) present with tty' '
-       test_terminal env TERM=vt100 git branch $color_args >actual.raw &&
-       test_decode_color <actual.raw >actual &&
-       test_cmp expect.color actual
-'
-
-test_expect_success 'color.branch=always overrides auto-color' '
-       git -c color.branch=always branch $color_args >actual.raw &&
+       test_terminal git branch $color_args >actual.raw &&
        test_decode_color <actual.raw >actual &&
        test_cmp expect.color actual
 '