]>
Commit | Line | Data |
---|---|---|
6468a4e5 JM |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2012 Mozilla Foundation | |
4 | # | |
5 | ||
6 | test_description='diff.context configuration' | |
7 | ||
8 | . ./test-lib.sh | |
9 | ||
10 | test_expect_success 'setup' ' | |
50fb51e7 | 11 | cat >template <<-\EOF && |
6468a4e5 JM |
12 | firstline |
13 | b | |
14 | c | |
15 | d | |
16 | e | |
17 | f | |
18 | preline | |
50fb51e7 | 19 | TARGET |
6468a4e5 JM |
20 | postline |
21 | i | |
22 | j | |
23 | k | |
24 | l | |
25 | m | |
26 | n | |
27 | EOF | |
50fb51e7 | 28 | sed "/TARGET/d" >x <template && |
6468a4e5 JM |
29 | git update-index --add x && |
30 | git commit -m initial && | |
31 | ||
50fb51e7 | 32 | sed "s/TARGET/ADDED/" >x <template && |
6468a4e5 JM |
33 | git update-index --add x && |
34 | git commit -m next && | |
35 | ||
50fb51e7 | 36 | sed "s/TARGET/MODIFIED/" >x <template |
6468a4e5 JM |
37 | ' |
38 | ||
39 | test_expect_success 'the default number of context lines is 3' ' | |
40 | git diff >output && | |
41 | ! grep "^ d" output && | |
42 | grep "^ e" output && | |
43 | grep "^ j" output && | |
44 | ! grep "^ k" output | |
45 | ' | |
46 | ||
47 | test_expect_success 'diff.context honored by "log"' ' | |
48 | git log -1 -p >output && | |
49 | ! grep firstline output && | |
50 | git config diff.context 8 && | |
51 | git log -1 -p >output && | |
52 | grep "^ firstline" output | |
53 | ' | |
54 | ||
55 | test_expect_success 'The -U option overrides diff.context' ' | |
56 | git config diff.context 8 && | |
57 | git log -U4 -1 >output && | |
58 | ! grep "^ firstline" output | |
59 | ' | |
60 | ||
61 | test_expect_success 'diff.context honored by "diff"' ' | |
62 | git config diff.context 8 && | |
63 | git diff >output && | |
64 | grep "^ firstline" output | |
65 | ' | |
66 | ||
67 | test_expect_success 'plumbing not affected' ' | |
68 | git config diff.context 8 && | |
69 | git diff-files -p >output && | |
70 | ! grep "^ firstline" output | |
71 | ' | |
72 | ||
73 | test_expect_success 'non-integer config parsing' ' | |
74 | git config diff.context no && | |
75 | test_must_fail git diff 2>output && | |
2f666581 | 76 | test_i18ngrep "bad numeric config value" output |
6468a4e5 JM |
77 | ' |
78 | ||
79 | test_expect_success 'negative integer config parsing' ' | |
80 | git config diff.context -1 && | |
81 | test_must_fail git diff 2>output && | |
155ef25f | 82 | test_i18ngrep "bad config variable" output |
6468a4e5 JM |
83 | ' |
84 | ||
85 | test_expect_success '-U0 is valid, so is diff.context=0' ' | |
86 | git config diff.context 0 && | |
87 | git diff >output && | |
88 | grep "^-ADDED" output && | |
89 | grep "^+MODIFIED" output | |
90 | ' | |
91 | ||
92 | test_done |