]>
Commit | Line | Data |
---|---|---|
d8faea9d JN |
1 | #!/bin/sh |
2 | ||
3 | test_description='diff --relative tests' | |
4 | . ./test-lib.sh | |
5 | ||
6 | test_expect_success 'setup' ' | |
7 | git commit --allow-empty -m empty && | |
8 | echo content >file1 && | |
9 | mkdir subdir && | |
10 | echo other content >subdir/file2 && | |
11 | git add . && | |
12 | git commit -m one | |
13 | ' | |
14 | ||
15 | check_diff() { | |
16 | expect=$1; shift | |
17 | cat >expected <<EOF | |
18 | diff --git a/$expect b/$expect | |
19 | new file mode 100644 | |
20 | index 0000000..25c05ef | |
21 | --- /dev/null | |
22 | +++ b/$expect | |
23 | @@ -0,0 +1 @@ | |
24 | +other content | |
25 | EOF | |
26 | test_expect_success "-p $*" " | |
27 | git diff -p $* HEAD^ >actual && | |
28 | test_cmp expected actual | |
29 | " | |
30 | } | |
31 | ||
6dd88832 JN |
32 | check_numstat() { |
33 | expect=$1; shift | |
34 | cat >expected <<EOF | |
35 | 1 0 $expect | |
36 | EOF | |
37 | test_expect_success "--numstat $*" " | |
38 | echo '1 0 $expect' >expected && | |
39 | git diff --numstat $* HEAD^ >actual && | |
40 | test_cmp expected actual | |
41 | " | |
42 | } | |
43 | ||
d8faea9d JN |
44 | check_stat() { |
45 | expect=$1; shift | |
46 | cat >expected <<EOF | |
dc801e71 | 47 | $expect | 1 + |
7f814632 | 48 | 1 file changed, 1 insertion(+) |
d8faea9d JN |
49 | EOF |
50 | test_expect_success "--stat $*" " | |
51 | git diff --stat $* HEAD^ >actual && | |
6dd88832 | 52 | test_i18ncmp expected actual |
d8faea9d JN |
53 | " |
54 | } | |
55 | ||
56 | check_raw() { | |
57 | expect=$1; shift | |
58 | cat >expected <<EOF | |
59 | :000000 100644 0000000000000000000000000000000000000000 25c05ef3639d2d270e7fe765a67668f098092bc5 A $expect | |
60 | EOF | |
61 | test_expect_success "--raw $*" " | |
62 | git diff --no-abbrev --raw $* HEAD^ >actual && | |
63 | test_cmp expected actual | |
64 | " | |
65 | } | |
66 | ||
6dd88832 | 67 | for type in diff numstat stat raw; do |
d8faea9d JN |
68 | check_$type file2 --relative=subdir/ |
69 | check_$type file2 --relative=subdir | |
70 | check_$type dir/file2 --relative=sub | |
71 | done | |
72 | ||
73 | test_done |