@@ -17,15 +17,204 @@ void test_blame_buffer__cleanup(void)
17
17
git_repository_free (g_repo );
18
18
}
19
19
20
+
21
+void test_blame_buffer__4_edits (void )
22
+ {
23
+
24
+ const char * buffer = "\
25
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
26
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
27
+ xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
28
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
29
+ x\n\
30
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
31
+ xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
32
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
33
+ xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
34
+ \n\
35
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
36
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
37
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
38
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\n" ;
39
+
40
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
41
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 2 , 0 , "da237394" , "b.txt" );
42
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 3 , 1 , 0 , "000000" , "b.txt" );
43
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 4 , 1 , 0 , "da237394" , "b.txt" );
44
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 5 , 1 , 0 , "000000" , "b.txt" );
45
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 6 , 1 , 0 , "63d671eb" , "b.txt" );
46
+ check_blame_hunk_index (g_repo , g_bufferblame , 5 , 7 , 1 , 0 , "000000" , "b.txt" );
47
+ check_blame_hunk_index (g_repo , g_bufferblame , 6 , 8 , 1 , 0 , "63d671eb" , "b.txt" );
48
+ check_blame_hunk_index (g_repo , g_bufferblame , 7 , 9 , 1 , 0 , "000000" , "b.txt" );
49
+ check_blame_hunk_index (g_repo , g_bufferblame , 8 , 10 , 1 , 0 , "63d671eb" , "b.txt" );
50
+ check_blame_hunk_index (g_repo , g_bufferblame , 9 , 11 , 5 , 0 , "aa06ecca" , "b.txt" );
51
+ }
52
+
53
+ void test_blame_buffer__two_added_lines_and_one_modified (void )
54
+ {
55
+
56
+ const char * buffer = "\
57
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
58
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
59
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
60
+ x\n\
61
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
62
+ x\n\
63
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
64
+ xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
65
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
66
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
67
+ \n\
68
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
69
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
70
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
71
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\n" ;
72
+
73
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
74
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 3 , 0 , "da237394" , "b.txt" );
75
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 4 , 1 , 0 , "000000" , "b.txt" );
76
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 5 , 1 , 0 , "da237394" , "b.txt" );
77
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 6 , 1 , 0 , "000000" , "b.txt" );
78
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 7 , 1 , 0 , "63d671eb" , "b.txt" );
79
+ check_blame_hunk_index (g_repo , g_bufferblame , 5 , 8 , 1 , 0 , "000000" , "b.txt" );
80
+ check_blame_hunk_index (g_repo , g_bufferblame , 6 , 9 , 3 , 0 , "63d671eb" , "b.txt" );
81
+ check_blame_hunk_index (g_repo , g_bufferblame , 7 , 12 , 5 , 0 , "aa06ecca" , "b.txt" );
82
+ }
83
+
84
+ void test_blame_buffer__two_added_lines (void )
85
+ {
86
+
87
+ const char * buffer = "\
88
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
89
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
90
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
91
+ abc\n\
92
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
93
+ def\n\
94
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
95
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
96
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
97
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
98
+ \n\
99
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
100
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
101
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
102
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\n" ;
103
+
104
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
105
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 3 , 0 , "da237394" , "b.txt&
10000
quot; );
106
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 4 , 1 , 0 , "000000" , "b.txt" );
107
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 5 , 1 , 0 , "da237394" , "b.txt" );
108
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 6 , 1 , 0 , "000000" , "b.txt" );
109
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 7 , 5 , 0 , "63d671eb" , "b.txt" );
110
+ check_blame_hunk_index (g_repo , g_bufferblame , 5 , 12 , 5 , 0 , "aa06ecca" , "b.txt" );
111
+ }
112
+
113
+ void test_blame_buffer__added_blocks (void )
114
+ {
115
+
116
+ const char * buffer = "\
117
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
118
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
119
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
120
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
121
+ \n\
122
+ abcdefg\n\
123
+ hijlmno\n\
124
+ pqrstuv\n\
125
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
126
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
127
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
128
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
129
+ abcdefg\n\
130
+ hijlmno\n\
131
+ pqrstuv\n\
132
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
133
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
134
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
135
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
136
+ \n\
137
+ abcdefg\n\
138
+ hijlmno\n\
139
+ pqrstuv\n" ;
140
+
141
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
142
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 4 , 0 , "da237394" , "b.txt" );
143
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 5 , 1 , 1 , "b99f7ac0" , "b.txt" );
144
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 6 , 3 , 0 , "000000" , "b.txt" );
145
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 9 , 4 , 0 , "63d671eb" , "b.txt" );
146
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 13 , 3 , 0 , "000000" , "b.txt" );
147
+ check_blame_hunk_index (g_repo , g_bufferblame , 5 , 16 , 5 , 0 , "aa06ecca" , "b.txt" );
148
+ check_blame_hunk_index (g_repo , g_bufferblame , 6 , 21 , 3 , 0 , "000000" , "b.txt" );
149
+
150
+
151
+ }
152
+
153
+ void test_blame_buffer__overlapping_blocks (void )
154
+ {
155
+ const char * buffer = "\
156
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
157
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
158
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
159
+ abcdefg\n\
160
+ hijlmno\n\
161
+ pqrstuv\n\
162
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
163
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
164
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
165
+ \n\
166
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
167
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
168
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
169
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
170
+ \n\
171
+ " ;
172
+
173
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
174
+
175
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 3 , 0 , "da237394" , "b.txt" );
176
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 4 , 3 , 0 , "000000" , "b.txt" );
177
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 7 , 4 , 0 , "63d671eb" , "b.txt" );
178
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 11 , 5 , 0 , "aa06ecca" , "b.txt" );
179
+
180
+ }
181
+
182
+ void test_blame_buffer__2_add_splits_hunk (void )
183
+ {
184
+ const char * buffer = "\
185
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
186
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
187
+ abc\n\
188
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
189
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
190
+ \n\
191
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
192
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
193
+ abc\n\
194
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
195
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
196
+ \n\
197
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
198
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
199
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
200
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\n" ;
201
+
202
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
203
+ check_blame_hunk_index (g_repo , g_bufferblame , 0 , 1 , 2 , 0 , "da237394" , "b.txt" );
204
+ check_blame_hunk_index (g_repo , g_bufferblame , 1 , 3 , 1 , 0 , "00000000" , "b.txt" );
205
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 4 , 2 , 0 , "da237394" , "b.txt" );
206
+ check_blame_hunk_index (g_repo , g_bufferblame , 3 , 6 , 1 , 1 , "b99f7ac0" , "b.txt" );
207
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 7 , 2 , 0 , "63d671eb" , "b.txt" );
208
+ check_blame_hunk_index (g_repo , g_bufferblame , 5 , 9 , 1 , 0 , "00000000" , "b.txt" );
209
+ check_blame_hunk_index (g_repo , g_bufferblame , 6 , 10 , 3 , 0 , "63d671eb" , "b.txt" );
210
+ check_blame_hunk_index (g_repo , g_bufferblame , 7 , 13 , 5 , 0 , "aa06ecca" , "b.txt" );
211
+ }
212
+
20
213
void test_blame_buffer__index (void )
21
214
{
22
215
const git_blame_hunk * hunk ;
23
216
const char * buffer = "Hello\nWorld!" ;
24
217
25
- /*
26
- * We need to open a different file from the ones used in other tests. Close
27
- * the one opened in test_blame_buffer__initialize() to avoid a leak.
28
- */
29
218
git_blame_free (g_fileblame );
30
219
g_fileblame = NULL ;
31
220
cl_git_pass (git_blame_file (& g_fileblame , g_repo , "file.txt" , NULL ));
@@ -43,6 +232,8 @@ void test_blame_buffer__index(void)
43
232
cl_assert (hunk -> final_signature == NULL );
44
233
}
45
234
235
+
236
+
46
237
void test_blame_buffer__added_line (void )
47
238
{
48
239
const git_blame_hunk * hunk ;
@@ -73,6 +264,43 @@ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
73
264
cl_assert_equal_s ("Ben Straub" , hunk -> final_signature -> name );
74
265
}
75
266
267
+ void test_blame_buffer__added_lines (void )
268
+ {
269
+
270
+ const char * buffer = "\
271
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
272
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
273
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
274
+ EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n\
275
+ \n\
276
+ \n\
277
+ \n\
278
+ \n\
279
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
280
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
281
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
282
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n\
283
+ \n\
284
+ \n\
285
+ \n\
286
+ \n\
287
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
288
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
289
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
290
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\n\
291
+ \n\
292
+ \n\
293
+ \n\
294
+ \n" ;
295
+
296
+ cl_git_pass (git_blame_buffer (& g_bufferblame , g_fileblame , buffer , strlen (buffer )));
297
+ cl_assert_equal_i (7 , git_blame_get_hunk_count (g_bufferblame ));
298
+ check_blame_hunk_index (g_repo , g_bufferblame , 2 , 6 , 3 , 0 , "000000" , "b.txt" );
299
+ check_blame_hunk_index (g_repo , g_bufferblame , 4 , 14 , 3 , 0 , "000000" , "b.txt" );
300
+ check_blame_hunk_index (g_repo , g_bufferblame , 6 , 22 , 3 , 0 , "000000" , "b.txt" );
301
+
302
+ }
303
+
76
304
void test_blame_buffer__deleted_line (void )
77
305
{
78
306
const char * buffer = "\
0 commit comments