Code

test: use --numstat instead of --stat in "git stash show" tests
authorJonathan Nieder <jrnieder@gmail.com>
Tue, 13 Mar 2012 05:01:32 +0000 (00:01 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Mar 2012 21:26:32 +0000 (14:26 -0700)
git's diff --stat output is intended for human consumption and
since v1.7.9.2~13 (2012-02-01) varies by locale.  Add a test checking
that git stash show defaults to --stat and tweak the rest of the
"stash show" tests that showed a diffstat to use numstat.

This way, there are fewer tests to tweak if the diffstat format
changes again.  This also improves test coverage when running tests
with git configured not to write its output in the C locale (e.g.,
via GETTEXT_POISON=Yes).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3903-stash.sh

index c69e4da182a3236c5b29c481c199ea5067c2e35a..3addb804d56fe2f0bcbf2d78bddd541880098c8d 100755 (executable)
@@ -432,7 +432,7 @@ test_expect_success 'stash branch - stashes on stack, stash-like argument' '
        test $(git ls-files --modified | wc -l) -eq 1
 '
 
-test_expect_success 'stash show - stashes on stack, stash-like argument' '
+test_expect_success 'stash show format defaults to --stat' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
        git reset --hard &&
@@ -450,6 +450,21 @@ test_expect_success 'stash show - stashes on stack, stash-like argument' '
        test_i18ncmp expected actual
 '
 
+test_expect_success 'stash show - stashes on stack, stash-like argument' '
+       git stash clear &&
+       test_when_finished "git reset --hard HEAD" &&
+       git reset --hard &&
+       echo foo >> file &&
+       git stash &&
+       test_when_finished "git stash drop" &&
+       echo bar >> file &&
+       STASH_ID=$(git stash create) &&
+       git reset --hard &&
+       echo "1 0       file" >expected &&
+       git stash show --numstat ${STASH_ID} >actual &&
+       test_cmp expected actual
+'
+
 test_expect_success 'stash show -p - stashes on stack, stash-like argument' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
@@ -480,12 +495,9 @@ test_expect_success 'stash show - no stashes on stack, stash-like argument' '
        echo foo >> file &&
        STASH_ID=$(git stash create) &&
        git reset --hard &&
-       cat >expected <<-EOF &&
-        file |    1 +
-        1 file changed, 1 insertion(+)
-       EOF
-       git stash show ${STASH_ID} >actual &&
-       test_i18ncmp expected actual
+       echo "1 0       file" >expected &&
+       git stash show --numstat ${STASH_ID} >actual &&
+       test_cmp expected actual
 '
 
 test_expect_success 'stash show -p - no stashes on stack, stash-like argument' '