Skip to content
This repository was archived by the owner on Nov 12, 2019. It is now read-only.

Commit 46b846a

Browse files
author
shotwave
committed
mock files submitted
git-svn-id: http://java-diff-utils.googlecode.com/svn/trunk@44 d8d7d024-a22d-11de-b755-fd640f38fa9d
1 parent 57bde4e commit 46b846a

File tree

3 files changed

+756
-4
lines changed

3 files changed

+756
-4
lines changed

test/mocks/5A.txt

Lines changed: 372 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,372 @@
1+
#!/bin/sh
2+
#
3+
# Copyright (c) 2006 Johannes E. Schindelin
4+
#
5+
6+
test_description='Test special whitespace in diff engine.
7+
8+
'
9+
. ./test-lib.sh
10+
. ../diff-lib.sh
11+
12+
# Ray Lehtiniemi's example
13+
14+
cat << EOF > x
15+
do {
16+
nothing;
17+
} while (0);
18+
EOF
19+
20+
git update-index --add x
21+
22+
cat << EOF > x
23+
do
24+
{
25+
nothing;
26+
}
27+
while (0);
28+
EOF
29+
30+
cat << EOF > expect
31+
diff --git a/x b/x
32+
index adf3937..6edc172 100644
33+
--- a/x
34+
+++ b/x
35+
@@ -1,3 +1,5 @@
36+
-do {
37+
+do
38+
+{
39+
nothing;
40+
-} while (0);
41+
+}
42+
+while (0);
43+
EOF
44+
45+
git diff > out
46+
test_expect_success "Ray's example without options" 'test_cmp expect out'
47+
48+
git diff -w > out
49+
test_expect_success "Ray's example with -w" 'test_cmp expect out'
50+
51+
git diff -b > out
52+
test_expect_success "Ray's example with -b" 'test_cmp expect out'
53+
54+
tr 'Q' '\015' << EOF > x
55+
whitespace at beginning
56+
whitespace change
57+
whitespace in the middle
58+
whitespace at end
59+
unchanged line
60+
CR at endQ
61+
EOF
62+
63+
git update-index x
64+
65+
tr '_' ' ' << EOF > x
66+
whitespace at beginning
67+
whitespace change
68+
white space in the middle
69+
whitespace at end__
70+
unchanged line
71+
CR at end
72+
EOF
73+
74+
tr 'Q_' '\015 ' << EOF > expect
75+
diff --git a/x b/x
76+
index d99af23..8b32fb5 100644
77+
--- a/x
78+
+++ b/x
79+
@@ -1,6 +1,6 @@
80+
-whitespace at beginning
81+
-whitespace change
82+
-whitespace in the middle
83+
-whitespace at end
84+
+ whitespace at beginning
85+
+whitespace change
86+
+white space in the middle
87+
+whitespace at end__
88+
unchanged line
89+
-CR at endQ
90+
+CR at end
91+
EOF
92+
git diff > out
93+
test_expect_success 'another test, without options' 'test_cmp expect out'
94+
95+
cat << EOF > expect
96+
diff --git a/x b/x
97+
index d99af23..8b32fb5 100644
98+
EOF
99+
git diff -w > out
100+
test_expect_success 'another test, with -w' 'test_cmp expect out'
101+
102+
tr 'Q' '\015' << EOF > expect
103+
diff --git a/x b/x
104+
index d99af23..8b32fb5 100644
105+
--- a/x
106+
+++ b/x
107+
@@ -1,6 +1,6 @@
108+
-whitespace at beginning
109+
+ whitespace at beginning
110+
whitespace change
111+
-whitespace in the middle
112+
+white space in the middle
113+
whitespace at end
114+
unchanged line
115+
CR at endQ
116+
EOF
117+
git diff -b > out
118+
test_expect_success 'another test, with -b' 'test_cmp expect out'
119+
120+
test_expect_success 'check mixed spaces and tabs in indent' '
121+
122+
# This is indented with SP HT SP.
123+
echo " foo();" > x &&
124+
git diff --check | grep "space before tab in indent"
125+
126+
'
127+
128+
test_expect_success 'check mixed tabs and spaces in indent' '
129+
130+
# This is indented with HT SP HT.
131+
echo " foo();" > x &&
132+
git diff --check | grep "space before tab in indent"
133+
134+
'
135+
136+
test_expect_success 'check with no whitespace errors' '
137+
138+
git commit -m "snapshot" &&
139+
echo "foo();" > x &&
140+
git diff --check
141+
142+
'
143+
144+
test_expect_success 'check with trailing whitespace' '
145+
146+
echo "foo(); " > x &&
147+
test_must_fail git diff --check
148+
149+
'
150+
151+
test_expect_success 'check with space before tab in indent' '
152+
153+
# indent has space followed by hard tab
154+
echo " foo();" > x &&
155+
test_must_fail git diff --check
156+
157+
'
158+
159+
test_expect_success '--check and --exit-code are not exclusive' '
160+
161+
git checkout x &&
162+
git diff --check --exit-code
163+
164+
'
165+
166+
test_expect_success '--check and --quiet are not exclusive' '
167+
168+
git diff --check --quiet
169+
170+
'
171+
172+
test_expect_success 'check staged with no whitespace errors' '
173+
174+
echo "foo();" > x &&
175+
git add x &&
176+
git diff --cached --check
177+
178+
'
179+
180+
test_expect_success 'check staged with trailing whitespace' '
181+
182+
echo "foo(); " > x &&
183+
git add x &&
184+
test_must_fail git diff --cached --check
185+
186+
'
187+
188+
test_expect_success 'check staged with space before tab in indent' '
189+
190+
# indent has space followed by hard tab
191+
echo " foo();" > x &&
192+
git add x &&
193+
test_must_fail git diff --cached --check
194+
195+
'
196+
197+
test_expect_success 'check with no whitespace errors (diff-index)' '
198+
199+
echo "foo();" > x &&
200+
git add x &&
201+
git diff-index --check HEAD
202+
203+
'
204+
205+
test_expect_success 'check with trailing whitespace (diff-index)' '
206+
207+
echo "foo(); " > x &&
208+
git add x &&
209+
test_must_fail git diff-index --check HEAD
210+
211+
'
212+
213+
test_expect_success 'check with space before tab in indent (diff-index)' '
214+
215+
# indent has space followed by hard tab
216+
echo " foo();" > x &&
217+
git add x &&
218+
test_must_fail git diff-index --check HEAD
219+
220+
'
221+
222+
test_expect_success 'check staged with no whitespace errors (diff-index)' '
223+
224+
echo "foo();" > x &&
225+
git add x &&
226+
git diff-index --cached --check HEAD
227+
228+
'
229+
230+
test_expect_success 'check staged with trailing whitespace (diff-index)' '
231+
232+
echo "foo(); " > x &&
233+
git add x &&
234+
test_must_fail git diff-index --cached --check HEAD
235+
236+
'
237+
238+
test_expect_success 'check staged with space before tab in indent (diff-index)' '
239+
240+
# indent has space followed by hard tab
241+
echo " foo();" > x &&
242+
git add x &&
243+
test_must_fail git diff-index --cached --check HEAD
244+
245+
'
246+
247+
test_expect_success 'check with no whitespace errors (diff-tree)' '
248+
249+
echo "foo();" > x &&
250+
git commit -m "new commit" x &&
251+
git diff-tree --check HEAD^ HEAD
252+
253+
'
254+
255+
test_expect_success 'check with trailing whitespace (diff-tree)' '
256+
257+
echo "foo(); " > x &&
258+
git commit -m "another commit" x &&
259+
test_must_fail git diff-tree --check HEAD^ HEAD
260+
261+
'
262+
263+
test_expect_success 'check with space before tab in indent (diff-tree)' '
264+
265+
# indent has space followed by hard tab
266+
echo " foo();" > x &&
267+
git commit -m "yet another" x &&
268+
test_must_fail git diff-tree --check HEAD^ HEAD
269+
270+
'
271+
272+
test_expect_success 'check trailing whitespace (trailing-space: off)' '
273+
274+
git config core.whitespace "-trailing-space" &&
275+
echo "foo (); " > x &&
276+
git diff --check
277+
278+
'
279+
280+
test_expect_success 'check trailing whitespace (trailing-space: on)' '
281+
282+
git config core.whitespace "trailing-space" &&
283+
echo "foo (); " > x &&
284+
test_must_fail git diff --check
285+
286+
'
287+
288+
test_expect_success 'check space before tab in indent (space-before-tab: off)' '
289+
290+
# indent contains space followed by HT
291+
git config core.whitespace "-space-before-tab" &&
292+
echo " foo ();" > x &&
293+
git diff --check
294+
295+
'
296+
297+
test_expect_success 'check space before tab in indent (space-before-tab: on)' '
298+
299+
# indent contains space followed by HT
300+
git config core.whitespace "space-before-tab" &&
301+
echo " foo (); " > x &&
302+
test_must_fail git diff --check
303+
304+
'
305+
306+
test_expect_success 'check spaces as indentation (indent-with-non-tab: off)' '
307+
308+
git config core.whitespace "-indent-with-non-tab"
309+
echo " foo ();" > x &&
310+
git diff --check
311+
312+
'
313+
314+
test_expect_success 'check spaces as indentation (indent-with-non-tab: on)' '
315+
316+
git config core.whitespace "indent-with-non-tab" &&
317+
echo " foo ();" > x &&
318+
test_must_fail git diff --check
319+
320+
'
321+
322+
test_expect_success 'check tabs and spaces as indentation (indent-with-non-tab: on)' '
323+
324+
git config core.whitespace "indent-with-non-tab" &&
325+
echo " foo ();" > x &&
326+
test_must_fail git diff --check
327+
328+
'
329+
330+
test_expect_success 'line numbers in --check output are correct' '
331+
332+
echo "" > x &&
333+
echo "foo(); " >> x &&
334+
git diff --check | grep "x:2:"
335+
336+
'
337+
338+
test_expect_success 'checkdiff detects trailing blank lines' '
339+
echo "foo();" >x &&
340+
echo "" >>x &&
341+
git diff --check | grep "ends with blank"
342+
'
343+
344+
test_expect_success 'checkdiff allows new blank lines' '
345+
git checkout x &&
346+
mv x y &&
347+
(
348+
echo "/* This is new */" &&
349+
echo "" &&
350+
cat y
351+
) >x &&
352+
git diff --check
353+
'
354+
355+
test_expect_success 'combined diff with autocrlf conversion' '
356+
357+
git reset --hard &&
358+
echo >x hello &&
359+
git commit -m "one side" x &&
360+
git checkout HEAD^ &&
361+
echo >x goodbye &&
362+
git commit -m "the other side" x &&
363+
git config core.autocrlf true &&
364+
test_must_fail git merge master &&
365+
366+
git diff | sed -e "1,/^@@@/d" >actual &&
367+
! grep "^-" actual
368+
369+
'
370+
371+
test_done
372+

0 commit comments

Comments
 (0)