diff options
author | Jeff King <peff@peff.net> | 2012-10-25 06:41:57 -0400 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2012-10-25 06:41:57 -0400 |
commit | 8de8f9f656696a3c04e5f0a274b57e4a719a66ce (patch) | |
tree | 181e8f9626ed245aab923a60294085ffd368cc55 /t | |
parent | 55ff63007509d075d32861ff48cc8bb57d445b2a (diff) | |
parent | 50fb51e7e81748182a770d3943ec5730357b27e7 (diff) | |
download | git-8de8f9f656696a3c04e5f0a274b57e4a719a66ce.tar.gz git-8de8f9f656696a3c04e5f0a274b57e4a719a66ce.tar.xz |
Merge branch 'jm/diff-context-config'
Teaches a new configuration variable to "git diff" Porcelain and
its friends.
* jm/diff-context-config:
t4055: avoid use of sed 'a' command
diff: diff.context configuration gives default to -U
Diffstat (limited to 't')
-rwxr-xr-x | t/t4055-diff-context.sh | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/t/t4055-diff-context.sh b/t/t4055-diff-context.sh new file mode 100755 index 000000000..97172b46b --- /dev/null +++ b/t/t4055-diff-context.sh @@ -0,0 +1,92 @@ +#!/bin/sh +# +# Copyright (c) 2012 Mozilla Foundation +# + +test_description='diff.context configuration' + +. ./test-lib.sh + +test_expect_success 'setup' ' + cat >template <<-\EOF && + firstline + b + c + d + e + f + preline + TARGET + postline + i + j + k + l + m + n + EOF + sed "/TARGET/d" >x <template && + git update-index --add x && + git commit -m initial && + + sed "s/TARGET/ADDED/" >x <template && + git update-index --add x && + git commit -m next && + + sed "s/TARGET/MODIFIED/" >x <template +' + +test_expect_success 'the default number of context lines is 3' ' + git diff >output && + ! grep "^ d" output && + grep "^ e" output && + grep "^ j" output && + ! grep "^ k" output +' + +test_expect_success 'diff.context honored by "log"' ' + git log -1 -p >output && + ! grep firstline output && + git config diff.context 8 && + git log -1 -p >output && + grep "^ firstline" output +' + +test_expect_success 'The -U option overrides diff.context' ' + git config diff.context 8 && + git log -U4 -1 >output && + ! grep "^ firstline" output +' + +test_expect_success 'diff.context honored by "diff"' ' + git config diff.context 8 && + git diff >output && + grep "^ firstline" output +' + +test_expect_success 'plumbing not affected' ' + git config diff.context 8 && + git diff-files -p >output && + ! grep "^ firstline" output +' + +test_expect_success 'non-integer config parsing' ' + git config diff.context no && + test_must_fail git diff 2>output && + test_i18ngrep "bad config value" output +' + +test_expect_success 'negative integer config parsing' ' + git config diff.context -1 && + test_must_fail git diff 2>output && + test_i18ngrep "bad config file" output +' + +test_expect_success '-U0 is valid, so is diff.context=0' ' + git config diff.context 0 && + git diff >output && + grep "^-ADDED" output && + grep "^+MODIFIED" output +' + +test_done |