Junio C Hamano <gitster@xxxxxxxxx> writes: > Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: > >> Jakub Narebski venit, vidit, dixit 08.12.2009 12:10: >>> Michael J Gruber wrote: >>> >>>> +decrypt_color () { >>>> + sed \ >>>> + -e 's/.\[1m/<WHITE>/g' \ >>>> + -e 's/.\[31m/<RED>/g' \ >>>> + -e 's/.\[32m/<GREEN>/g' \ >>>> + -e 's/.\[34m/<BLUE>/g' \ >>>> + -e 's/.\[m/<RESET>/g' >>>> +} >>> >>> Shouldn't this be better in test-lib.sh, or some common lib >>> (lib-color.sh or color-lib.sh; we are unfortunately a bit inconsistent >>> in naming here)? >> >> Well, so far it's used in two places (and somewhat differently). I would >> say test-libification starts at 3 :) > ... > Please don't. I'll squash this in to fix it up. I don't know where 36->BROWN mistake came from when color.h has a series of #define that can be used to make the decoding script mechanically, though ;-) t/t4034-diff-words.sh | 23 ++++--------- t/t7508-status.sh | 83 ++++++++++++++++++++++--------------------------- t/test-lib.sh | 11 ++++++ 3 files changed, 55 insertions(+), 62 deletions(-) diff --git a/t/t4034-diff-words.sh b/t/t4034-diff-words.sh index 4508eff..ea895b0 100755 --- a/t/t4034-diff-words.sh +++ b/t/t4034-diff-words.sh @@ -11,18 +11,9 @@ test_expect_success setup ' ' -decrypt_color () { - sed \ - -e 's/.\[1m/<WHITE>/g' \ - -e 's/.\[31m/<RED>/g' \ - -e 's/.\[32m/<GREEN>/g' \ - -e 's/.\[36m/<BROWN>/g' \ - -e 's/.\[m/<RESET>/g' -} - word_diff () { test_must_fail git diff --no-index "$@" pre post > output && - decrypt_color < output > output.decrypted && + test_decode_color <output >output.decrypted && test_cmp expect output.decrypted } @@ -47,7 +38,7 @@ cat > expect <<\EOF <WHITE>index 330b04f..5ed8eff 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1,3 +1,7 @@<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> <RED>h(4)<RESET><GREEN>h(4),hh[44]<RESET> <RESET> a = b + c<RESET> @@ -68,7 +59,7 @@ cat > expect <<\EOF <WHITE>index 330b04f..5ed8eff 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1,3 +1,7 @@<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> h(4),<GREEN>hh<RESET>[44] <RESET> a = b + c<RESET> @@ -104,7 +95,7 @@ cat > expect <<\EOF <WHITE>index 330b04f..5ed8eff 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1,3 +1,7 @@<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> h(4)<GREEN>,hh[44]<RESET> <RESET> a = b + c<RESET> @@ -146,7 +137,7 @@ cat > expect <<\EOF <WHITE>index 330b04f..5ed8eff 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1,3 +1,7 @@<RESET> +<CYAN>@@ -1,3 +1,7 @@<RESET> h(4),<GREEN>hh[44<RESET>] <RESET> a = b + c<RESET> @@ -168,7 +159,7 @@ cat > expect <<\EOF <WHITE>index c29453b..be22f37 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1 +1 @@<RESET> +<CYAN>@@ -1 +1 @@<RESET> aaa (aaa) <GREEN>aaa<RESET> EOF @@ -187,7 +178,7 @@ cat > expect <<\EOF <WHITE>index 289cb9d..2d06f37 100644<RESET> <WHITE>--- a/pre<RESET> <WHITE>+++ b/post<RESET> -<BROWN>@@ -1 +1 @@<RESET> +<CYAN>@@ -1 +1 @@<RESET> (<RED>:<RESET> EOF diff --git a/t/t7508-status.sh b/t/t7508-status.sh index 50554a0..cf67fe3 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -8,45 +8,36 @@ test_description='git status' . ./test-lib.sh test_expect_success 'setup' ' - : > tracked && - : > modified && + : >tracked && + : >modified && mkdir dir1 && - : > dir1/tracked && - : > dir1/modified && + : >dir1/tracked && + : >dir1/modified && mkdir dir2 && - : > dir1/tracked && - : > dir1/modified && + : >dir1/tracked && + : >dir1/modified && git add . && git status >output && test_tick && git commit -m initial && - : > untracked && - : > dir1/untracked && - : > dir2/untracked && - echo 1 > dir1/modified && - echo 2 > dir2/modified && - echo 3 > dir2/added && + : >untracked && + : >dir1/untracked && + : >dir2/untracked && + echo 1 >dir1/modified && + echo 2 >dir2/modified && + echo 3 >dir2/added && git add dir2/added ' -decrypt_color () { - sed \ - -e 's/.\[1m/<WHITE>/g' \ - -e 's/.\[31m/<RED>/g' \ - -e 's/.\[32m/<GREEN>/g' \ - -e 's/.\[34m/<BLUE>/g' \ - -e 's/.\[m/<RESET>/g' -} - test_expect_success 'status (1)' ' grep "use \"git rm --cached <file>\.\.\.\" to unstage" output ' -cat > expect << \EOF +cat >expect <<\EOF # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) @@ -72,12 +63,12 @@ EOF test_expect_success 'status (2)' ' - git status > output && + git status >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF M dir1/modified A dir2/added ?? dir1/untracked @@ -90,7 +81,7 @@ EOF test_expect_success 'status -s (2)' ' - git status -s > output && + git status -s >output && test_cmp expect output ' @@ -112,8 +103,8 @@ cat >expect <<EOF EOF test_expect_success 'status -uno' ' mkdir dir3 && - : > dir3/untracked1 && - : > dir3/untracked2 && + : >dir3/untracked1 && + : >dir3/untracked2 && git status -uno >output && test_cmp expect output ' @@ -258,7 +249,7 @@ test_expect_success 'status -s (status.showUntrackedFiles all)' ' test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) @@ -284,12 +275,12 @@ EOF test_expect_success 'status with relative paths' ' - (cd dir1 && git status) > output && + (cd dir1 && git status) >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF M modified A ../dir2/added ?? untracked @@ -301,12 +292,12 @@ A ../dir2/added EOF test_expect_success 'status -s with relative paths' ' - (cd dir1 && git status -s) > output && + (cd dir1 && git status -s) >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF M dir1/modified A dir2/added ?? dir1/untracked @@ -319,7 +310,7 @@ EOF test_expect_success 'status --porcelain ignores relative paths setting' ' - (cd dir1 && git status --porcelain) > output && + (cd dir1 && git status --porcelain) >output && test_cmp expect output ' @@ -330,7 +321,7 @@ test_expect_success 'setup unique colors' ' ' -cat > expect << \EOF +cat >expect <<\EOF # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) @@ -357,7 +348,7 @@ EOF test_expect_success 'status with color.ui' ' git config color.ui always && - git status | decrypt_color > output && + git status | test_decode_color >output && test_cmp expect output ' @@ -366,12 +357,12 @@ test_expect_success 'status with color.status' ' git config --unset color.ui && git config color.status always && - git status | decrypt_color > output && + git status | test_decode_color >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF <RED>M<RESET> dir1/modified <GREEN>A<RESET> dir2/added <BLUE>??<RESET> dir1/untracked @@ -386,7 +377,7 @@ test_expect_success 'status -s with color.ui' ' git config --unset color.status && git config color.ui always && - git status -s | decrypt_color > output && + git status -s | test_decode_color >output && test_cmp expect output ' @@ -395,12 +386,12 @@ test_expect_success 'status -s with color.status' ' git config --unset color.ui && git config color.status always && - git status -s | decrypt_color > output && + git status -s | test_decode_color >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF M dir1/modified A dir2/added ?? dir1/untracked @@ -415,7 +406,7 @@ test_expect_success 'status --porcelain ignores color.ui' ' git config --unset color.status && git config color.ui always && - git status --porcelain | decrypt_color > output && + git status --porcelain | test_decode_color >output && test_cmp expect output ' @@ -424,7 +415,7 @@ test_expect_success 'status --porcelain ignores color.status' ' git config --unset color.ui && git config color.status always && - git status --porcelain | decrypt_color > output && + git status --porcelain | test_decode_color >output && test_cmp expect output ' @@ -433,7 +424,7 @@ test_expect_success 'status --porcelain ignores color.status' ' git config --unset color.status git config --unset color.ui -cat > expect << \EOF +cat >expect <<\EOF # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) @@ -461,12 +452,12 @@ EOF test_expect_success 'status without relative paths' ' git config status.relativePaths false - (cd dir1 && git status) > output && + (cd dir1 && git status) >output && test_cmp expect output ' -cat > expect << \EOF +cat >expect <<\EOF M dir1/modified A dir2/added ?? dir1/untracked @@ -479,7 +470,7 @@ EOF test_expect_success 'status -s without relative paths' ' - (cd dir1 && git status -s) > output && + (cd dir1 && git status -s) >output && test_cmp expect output ' diff --git a/t/test-lib.sh b/t/test-lib.sh index 5fdc5d9..d63ad2d 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -208,6 +208,17 @@ test_set_editor () { export VISUAL } +test_decode_color () { + sed -e 's/.\[1m/<WHITE>/g' \ + -e 's/.\[31m/<RED>/g' \ + -e 's/.\[32m/<GREEN>/g' \ + -e 's/.\[33m/<YELLOW>/g' \ + -e 's/.\[34m/<BLUE>/g' \ + -e 's/.\[35m/<MAGENTA>/g' \ + -e 's/.\[36m/<CYAN>/g' \ + -e 's/.\[m/<RESET>/g' +} + test_tick () { if test -z "${test_tick+set}" then -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html