tests: make sure rename pretty print works
Add basic use cases and corner cases tests for "git diff -M --summary/stat". Signed-off-by: Antoine Pelisse <apelisse@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Antoine Pelisse committed
Mar 6, 2013 at 22:36 UTC
b174eb42d08eeb32ae7341ff46b05c20d38abc2b
1 file changed
+54
t/t4001-diff-rename.sh
+54
@@ -102,4 +102,58 @@ test_expect_success 'setup for many rename source candidates' '
102
grep warning actual.err
103
'
104
105
+test_expect_success 'rename pretty print with nothing in common' '
106
+ mkdir -p a/b/ &&
107
+ : >a/b/c &&
108
+ git add a/b/c &&
109
+ git commit -m "create a/b/c" &&
110
+ mkdir -p c/b/ &&
111
+ git mv a/b/c c/b/a &&
112
+ git commit -m "a/b/c -> c/b/a" &&
113
+ git diff -M --summary HEAD^ HEAD >output &&
114
+ test_i18ngrep " a/b/c => c/b/a " output &&
115
+ git diff -M --stat HEAD^ HEAD >output &&
116
+ test_i18ngrep " a/b/c => c/b/a " output
117
+'
118
+
119
+test_expect_success 'rename pretty print with common prefix' '
120
+ mkdir -p c/d &&
121
+ git mv c/b/a c/d/e &&
122
+ git commit -m "c/b/a -> c/d/e" &&
123
+ git diff -M --summary HEAD^ HEAD >output &&
124
+ test_i18ngrep " c/{b/a => d/e} " output &&
125
+ git diff -M --stat HEAD^ HEAD >output &&
126
+ test_i18ngrep " c/{b/a => d/e} " output
127
+'
128
+
129
+test_expect_success 'rename pretty print with common suffix' '
130
+ mkdir d &&
131
+ git mv c/d/e d/e &&
132
+ git commit -m "c/d/e -> d/e" &&
133
+ git diff -M --summary HEAD^ HEAD >output &&
134
+ test_i18ngrep " {c/d => d}/e " output &&
135
+ git diff -M --stat HEAD^ HEAD >output &&
136
+ test_i18ngrep " {c/d => d}/e " output
137
+'
138
+
139
+test_expect_success 'rename pretty print with common prefix and suffix' '
140
+ mkdir d/f &&
141
+ git mv d/e d/f/e &&
142
+ git commit -m "d/e -> d/f/e" &&
143
+ git diff -M --summary HEAD^ HEAD >output &&
144
+ test_i18ngrep " d/{ => f}/e " output &&
145
+ git diff -M --stat HEAD^ HEAD >output &&
146
+ test_i18ngrep " d/{ => f}/e " output
147
+'
148
+
149
+test_expect_success 'rename pretty print common prefix and suffix overlap' '
150
+ mkdir d/f/f &&
151
+ git mv d/f/e d/f/f/e &&
152
+ git commit -m "d/f/e d/f/f/e" &&
153
+ git diff -M --summary HEAD^ HEAD >output &&
154
+ test_i18ngrep " d/f/{ => f}/e " output &&
155
+ git diff -M --stat HEAD^ HEAD >output &&
156
+ test_i18ngrep " d/f/{ => f}/e " output
157
+'
158
+
159
test_done