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