Skip to content

Commit

Permalink
add: test use of brackets when color is disabled
Browse files Browse the repository at this point in the history
From 02156b8 Mon Sep 17 00:00:00 2001
From: Derrick Stolee <derrickstolee@github.com>
Date: Wed, 7 Jun 2023 09:39:01 -0400
Subject: [PATCH v2 2/2] add: test use of brackets when color is disabled

The interactive add command, 'git add -i', displays a menu of options
using full words. When color is enabled, the first letter of each word
is changed to a highlight color to signal that the first letter could be
used as a command. Without color, brackets ("[]") are used around these
first letters.

This behavior was not previously tested directly in t3701, so add a test
for it now. Since we use 'git add -i >actual <input' without
'force_color', the color system recognizes that colors are not available
on stdout and will be disabled by default.

This test would reproduce correctly with or without the fix in the
previous commit to make sure that color.ui is respected in 'git add'.

Reported-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
derrickstolee authored and gitster committed Jun 12, 2023
1 parent 7cf3b49 commit 6f74648
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions t/t3701-add-interactive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -738,6 +738,29 @@ test_expect_success 'colors can be overridden' '
test_cmp expect actual
'

test_expect_success 'brackets appear without color' '
git reset --hard &&
test_when_finished "git rm -f bracket-test" &&
test_write_lines context old more-context >bracket-test &&
git add bracket-test &&
test_write_lines context new more-context another-one >bracket-test &&
test_write_lines quit >input &&
git add -i >actual <input &&
sed "s/^|//" >expect <<-\EOF &&
| staged unstaged path
| 1: +3/-0 +2/-1 bracket-test
|
|*** Commands ***
| 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
| 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
|What now> Bye.
EOF
test_cmp expect actual
'

test_expect_success 'colors can be skipped with color.ui=false' '
git reset --hard &&
test_when_finished "git rm -f color-test" &&
Expand Down

0 comments on commit 6f74648

Please sign in to comment.