Code

Update draft release notes for 1.5.4.5
[git.git] / t / t4019-diff-wserror.sh
1 #!/bin/sh
3 test_description='diff whitespace error detection'
5 . ./test-lib.sh
7 test_expect_success setup '
9         git config diff.color.whitespace "blue reverse" &&
10         >F &&
11         git add F &&
12         echo "         Eight SP indent" >>F &&
13         echo "  HT and SP indent" >>F &&
14         echo "With trailing SP " >>F &&
15         echo "No problem" >>F
17 '
19 blue_grep='7;34m' ;# ESC [ 7 ; 3 4 m
21 test_expect_success default '
23         git diff --color >output
24         grep "$blue_grep" output >error
25         grep -v "$blue_grep" output >normal
27         grep Eight normal >/dev/null &&
28         grep HT error >/dev/null &&
29         grep With error >/dev/null &&
30         grep No normal >/dev/null
32 '
34 test_expect_success 'without -trail' '
36         git config core.whitespace -trail
37         git diff --color >output
38         grep "$blue_grep" output >error
39         grep -v "$blue_grep" output >normal
41         grep Eight normal >/dev/null &&
42         grep HT error >/dev/null &&
43         grep With normal >/dev/null &&
44         grep No normal >/dev/null
46 '
48 test_expect_success 'without -trail (attribute)' '
50         git config --unset core.whitespace
51         echo "F whitespace=-trail" >.gitattributes
52         git diff --color >output
53         grep "$blue_grep" output >error
54         grep -v "$blue_grep" output >normal
56         grep Eight normal >/dev/null &&
57         grep HT error >/dev/null &&
58         grep With normal >/dev/null &&
59         grep No normal >/dev/null
61 '
63 test_expect_success 'without -space' '
65         rm -f .gitattributes
66         git config core.whitespace -space
67         git diff --color >output
68         grep "$blue_grep" output >error
69         grep -v "$blue_grep" output >normal
71         grep Eight normal >/dev/null &&
72         grep HT normal >/dev/null &&
73         grep With error >/dev/null &&
74         grep No normal >/dev/null
76 '
78 test_expect_success 'without -space (attribute)' '
80         git config --unset core.whitespace
81         echo "F whitespace=-space" >.gitattributes
82         git diff --color >output
83         grep "$blue_grep" output >error
84         grep -v "$blue_grep" output >normal
86         grep Eight normal >/dev/null &&
87         grep HT normal >/dev/null &&
88         grep With error >/dev/null &&
89         grep No normal >/dev/null
91 '
93 test_expect_success 'with indent-non-tab only' '
95         rm -f .gitattributes
96         git config core.whitespace indent,-trailing,-space
97         git diff --color >output
98         grep "$blue_grep" output >error
99         grep -v "$blue_grep" output >normal
101         grep Eight error >/dev/null &&
102         grep HT normal >/dev/null &&
103         grep With normal >/dev/null &&
104         grep No normal >/dev/null
108 test_expect_success 'with indent-non-tab only (attribute)' '
110         git config --unset core.whitespace
111         echo "F whitespace=indent,-trailing,-space" >.gitattributes
112         git diff --color >output
113         grep "$blue_grep" output >error
114         grep -v "$blue_grep" output >normal
116         grep Eight error >/dev/null &&
117         grep HT normal >/dev/null &&
118         grep With normal >/dev/null &&
119         grep No normal >/dev/null
123 test_done