|
1 "{ Package: 'stx:libtool' }" |
|
2 |
|
3 TestCase subclass:#TextDiffTests |
|
4 instanceVariableNames:'' |
|
5 classVariableNames:'' |
|
6 poolDictionaries:'' |
|
7 category:'Collections-Sequenceable-Diff' |
|
8 ! |
|
9 |
|
10 TextDiffTests comment:'asdfasfsafsafsa |
|
11 ' |
|
12 ! |
|
13 |
|
14 !TextDiffTests class methodsFor:'documentation'! |
|
15 |
|
16 documentation |
|
17 " |
|
18 |
|
19 |
|
20 " |
|
21 ! ! |
|
22 |
|
23 !TextDiffTests methodsFor:'default'! |
|
24 |
|
25 testForward |
|
26 |diff change first second| |
|
27 |
|
28 first := #( 'aaa' 'lll' ). |
|
29 second := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). |
|
30 diff := Diff new. |
|
31 diff a:first b:second. |
|
32 change := diff diff:false. |
|
33 self deny:(change = nil). |
|
34 self assert:(change deleted = 0). |
|
35 self assert:(change inserted = 2). |
|
36 self assert:(change line0 = 1). |
|
37 self assert:(change line1 = 1). |
|
38 change := change nextLink. |
|
39 self deny:(change = nil). |
|
40 self assert:(change deleted = 0). |
|
41 self assert:(change inserted = 7). |
|
42 self assert:(change line0 = 2). |
|
43 self assert:(change line1 = 4). |
|
44 self assert:(change nextLink = nil). |
|
45 |
|
46 "Modified: / 12-02-2010 / 14:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
47 ! |
|
48 |
|
49 testForward1 |
|
50 "comment stating purpose of this message" |
|
51 |
|
52 |d a b result| |
|
53 |
|
54 a := ''. |
|
55 b := ''. |
|
56 d := Diff new. |
|
57 d a:a b:b. |
|
58 result := d diffUsingScript:(Diff::ForwardScript new). |
|
59 self assert:(result = nil). |
|
60 |
|
61 "Modified: / 12-02-2010 / 13:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
62 ! |
|
63 |
|
64 testForward10 |
|
65 "comment stating purpose of message" |
|
66 |
|
67 |d a b result| |
|
68 |
|
69 a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' 'ccccc' 'ccccc' ). |
|
70 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
71 d := Diff new. |
|
72 d a:a b:b. |
|
73 result := d diff:false. |
|
74 self deny:(result = nil). |
|
75 self assert:(result deleted = 1). |
|
76 self assert:(result inserted = 0). |
|
77 self assert:(result line0 = 0). |
|
78 self assert:(result line1 = 0). |
|
79 result := result nextLink. |
|
80 self deny:(result = nil). |
|
81 self assert:(result deleted = 1). |
|
82 self assert:(result inserted = 4). |
|
83 self assert:(result line0 = 2). |
|
84 self assert:(result line1 = 1). |
|
85 result := result nextLink. |
|
86 self deny:(result = nil). |
|
87 self assert:(result deleted = 0). |
|
88 self assert:(result inserted = 1). |
|
89 self assert:(result line0 = 4). |
|
90 self assert:(result line1 = 6). |
|
91 result := result nextLink. |
|
92 self deny:(result = nil). |
|
93 self assert:(result deleted = 0). |
|
94 self assert:(result inserted = 5). |
|
95 self assert:(result line0 = 6). |
|
96 self assert:(result line1 = 9). |
|
97 result := result nextLink. |
|
98 self deny:(result = nil). |
|
99 self assert:(result deleted = 2). |
|
100 self assert:(result inserted = 0). |
|
101 self assert:(result line0 = 8). |
|
102 self assert:(result line1 = 16). |
|
103 self assert:(result nextLink = nil). |
|
104 ! |
|
105 |
|
106 testForward2 |
|
107 "comment stating purpose of message" |
|
108 |
|
109 |d a b result| |
|
110 |
|
111 a := ''. |
|
112 b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). |
|
113 d := Diff new. |
|
114 d a:a b:b. |
|
115 result := d diff:false. |
|
116 self deny:(result = nil). |
|
117 self assert:(result deleted = 0). |
|
118 self assert:(result inserted = 11). |
|
119 self assert:(result line0 = 0). |
|
120 self assert:(result line1 = 0). |
|
121 self assert:(result nextLink = nil). |
|
122 ! |
|
123 |
|
124 testForward3 |
|
125 "comment stating purpose of message" |
|
126 |
|
127 |d a b result| |
|
128 |
|
129 a := #( 'aaa' 'lll' ). |
|
130 b := ''. |
|
131 d := Diff new. |
|
132 d a:a b:b. |
|
133 result := d diff:false. |
|
134 self deny:(result = nil). |
|
135 self assert:(result deleted = 2). |
|
136 self assert:(result inserted = 0). |
|
137 self assert:(result line0 = 0). |
|
138 self assert:(result line1 = 0). |
|
139 self assert:(result nextLink = nil). |
|
140 ! |
|
141 |
|
142 testForward4 |
|
143 "comment stating purpose of message" |
|
144 |
|
145 |d a b result| |
|
146 |
|
147 a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
148 b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). |
|
149 d := Diff new. |
|
150 d a:a b:b. |
|
151 result := d diff:false. |
|
152 self deny:(result = nil). |
|
153 self assert:(result deleted = 0). |
|
154 self assert:(result inserted = 5). |
|
155 self assert:(result line0 = 1). |
|
156 self assert:(result line1 = 1). |
|
157 result := result nextLink. |
|
158 self deny:(result = nil). |
|
159 self assert:(result deleted = 0). |
|
160 self assert:(result inserted = 6). |
|
161 self assert:(result line0 = 5). |
|
162 self assert:(result line1 = 10). |
|
163 self assert:(result nextLink = nil). |
|
164 ! |
|
165 |
|
166 testForward5 |
|
167 "comment stating purpose of message" |
|
168 |
|
169 |d a b result| |
|
170 |
|
171 a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
172 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
173 d := Diff new. |
|
174 d a:a b:b. |
|
175 result := d diff:false. |
|
176 self deny:(result = nil). |
|
177 self assert:(result deleted = 0). |
|
178 self assert:(result inserted = 5). |
|
179 self assert:(result line0 = 2). |
|
180 self assert:(result line1 = 2). |
|
181 result := result nextLink. |
|
182 self deny:(result = nil). |
|
183 self assert:(result deleted = 0). |
|
184 self assert:(result inserted = 5). |
|
185 self assert:(result line0 = 4). |
|
186 self assert:(result line1 = 9). |
|
187 self assert:(result nextLink = nil). |
|
188 ! |
|
189 |
|
190 testForward6 |
|
191 "comment stating purpose of message" |
|
192 |
|
193 |d a b result| |
|
194 |
|
195 a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
196 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
197 d := Diff new. |
|
198 d a:a b:b. |
|
199 result := d diff:false. |
|
200 self deny:(result = nil). |
|
201 self assert:(result deleted = 0). |
|
202 self assert:(result inserted = 3). |
|
203 self assert:(result line0 = 2). |
|
204 self assert:(result line1 = 2). |
|
205 result := result nextLink. |
|
206 self deny:(result = nil). |
|
207 self assert:(result deleted = 1). |
|
208 self assert:(result inserted = 1). |
|
209 self assert:(result line0 = 3). |
|
210 self assert:(result line1 = 6). |
|
211 result := result nextLink. |
|
212 self deny:(result = nil). |
|
213 self assert:(result deleted = 0). |
|
214 self assert:(result inserted = 5). |
|
215 self assert:(result line0 = 6). |
|
216 self assert:(result line1 = 9). |
|
217 self assert:(result nextLink = nil). |
|
218 ! |
|
219 |
|
220 testForward7 |
|
221 "comment stating purpose of message" |
|
222 |
|
223 |d a b result| |
|
224 |
|
225 a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
226 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
227 d := Diff new. |
|
228 d a:a b:b. |
|
229 result := d diff:false. |
|
230 self deny:(result = nil). |
|
231 self assert:(result deleted = 0). |
|
232 self assert:(result inserted = 3). |
|
233 self assert:(result line0 = 2). |
|
234 self assert:(result line1 = 2). |
|
235 result := result nextLink. |
|
236 self deny:(result = nil). |
|
237 self assert:(result deleted = 0). |
|
238 self assert:(result inserted = 1). |
|
239 self assert:(result line0 = 4). |
|
240 self assert:(result line1 = 7). |
|
241 result := result nextLink. |
|
242 self deny:(result = nil). |
|
243 self assert:(result deleted = 0). |
|
244 self assert:(result inserted = 5). |
|
245 self assert:(result line0 = 6). |
|
246 self assert:(result line1 = 10). |
|
247 self assert:(result nextLink = nil). |
|
248 ! |
|
249 |
|
250 testForward8 |
|
251 "comment stating purpose of message" |
|
252 |
|
253 |d a b result| |
|
254 |
|
255 a := #( 'aaaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
256 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
257 d := Diff new. |
|
258 d a:a b:b. |
|
259 result := d diff:false. |
|
260 self deny:(result = nil). |
|
261 self assert:(result deleted = 1). |
|
262 self assert:(result inserted = 0). |
|
263 self assert:(result line0 = 0). |
|
264 self assert:(result line1 = 0). |
|
265 result := result nextLink. |
|
266 self deny:(result = nil). |
|
267 self assert:(result deleted = 1). |
|
268 self assert:(result inserted = 4). |
|
269 self assert:(result line0 = 2). |
|
270 self assert:(result line1 = 1). |
|
271 result := result nextLink. |
|
272 self deny:(result = nil). |
|
273 self assert:(result deleted = 0). |
|
274 self assert:(result inserted = 1). |
|
275 self assert:(result line0 = 4). |
|
276 self assert:(result line1 = 6). |
|
277 result := result nextLink. |
|
278 self deny:(result = nil). |
|
279 self assert:(result deleted = 0). |
|
280 self assert:(result inserted = 5). |
|
281 self assert:(result line0 = 6). |
|
282 self assert:(result line1 = 9). |
|
283 self assert:(result nextLink = nil). |
|
284 ! |
|
285 |
|
286 testForward9 |
|
287 "comment stating purpose of message" |
|
288 |
|
289 |d a b result| |
|
290 |
|
291 a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
292 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
293 d := Diff new. |
|
294 d a:a b:b. |
|
295 result := d diff:false. |
|
296 self deny:(result = nil). |
|
297 self assert:(result deleted = 1). |
|
298 self assert:(result inserted = 0). |
|
299 self assert:(result line0 = 0). |
|
300 self assert:(result line1 = 0). |
|
301 result := result nextLink. |
|
302 self deny:(result = nil). |
|
303 self assert:(result deleted = 1). |
|
304 self assert:(result inserted = 4). |
|
305 self assert:(result line0 = 2). |
|
306 self assert:(result line1 = 1). |
|
307 result := result nextLink. |
|
308 self deny:(result = nil). |
|
309 self assert:(result deleted = 0). |
|
310 self assert:(result inserted = 1). |
|
311 self assert:(result line0 = 4). |
|
312 self assert:(result line1 = 6). |
|
313 result := result nextLink. |
|
314 self deny:(result = nil). |
|
315 self assert:(result deleted = 0). |
|
316 self assert:(result inserted = 5). |
|
317 self assert:(result line0 = 6). |
|
318 self assert:(result line1 = 9). |
|
319 self assert:(result nextLink = nil). |
|
320 ! |
|
321 |
|
322 testForward9NoDiscards |
|
323 "comment stating purpose of message" |
|
324 |
|
325 |d a b result| |
|
326 |
|
327 a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
328 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
329 d := Diff new. |
|
330 d nodiscards:true. |
|
331 d a:a b:b. |
|
332 result := d diff:false. |
|
333 self deny:(result = nil). |
|
334 self assert:(result deleted = 1). |
|
335 self assert:(result inserted = 0). |
|
336 self assert:(result line0 = 0). |
|
337 self assert:(result line1 = 0). |
|
338 result := result nextLink. |
|
339 self deny:(result = nil). |
|
340 self assert:(result deleted = 1). |
|
341 self assert:(result inserted = 4). |
|
342 self assert:(result line0 = 2). |
|
343 self assert:(result line1 = 1). |
|
344 result := result nextLink. |
|
345 self deny:(result = nil). |
|
346 self assert:(result deleted = 0). |
|
347 self assert:(result inserted = 1). |
|
348 self assert:(result line0 = 4). |
|
349 self assert:(result line1 = 6). |
|
350 result := result nextLink. |
|
351 self deny:(result = nil). |
|
352 self assert:(result deleted = 0). |
|
353 self assert:(result inserted = 5). |
|
354 self assert:(result line0 = 6). |
|
355 self assert:(result line1 = 9). |
|
356 self assert:(result nextLink = nil). |
|
357 ! |
|
358 |
|
359 testReverse |
|
360 |diff change first second| |
|
361 |
|
362 first := #( '1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' ). |
|
363 second := #( '1' '2' '3' '5' '7' '8' '8' '9' '10' '11' '11' '12' '13' ). |
|
364 diff := Diff new. |
|
365 diff a:first b:second. |
|
366 change := diff diff:false. |
|
367 self assert:(change ~= nil). |
|
368 |
|
369 "Modified: / 12-02-2010 / 14:23:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
370 ! |
|
371 |
|
372 testReverse1 |
|
373 "comment stating purpose of message" |
|
374 |
|
375 |d a b result| |
|
376 |
|
377 a := ''. |
|
378 b := ''. |
|
379 d := Diff new. |
|
380 d a:a b:b. |
|
381 result := d diff:false. |
|
382 self assert:(result = nil). |
|
383 ! |
|
384 |
|
385 testReverse10 |
|
386 "comment stating purpose of message" |
|
387 |
|
388 |d a b result| |
|
389 |
|
390 a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ',' 'ccccc' ',' 'ccccc' ). |
|
391 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
392 d := Diff new. |
|
393 d a:a b:b. |
|
394 result := d diffUsingScript:(Diff::ReverseScript new). |
|
395 self deny:(result = nil). |
|
396 self assert:(result deleted = 4). |
|
397 self assert:(result inserted = 0). |
|
398 self assert:(result line0 = 8). |
|
399 self assert:(result line1 = 16). |
|
400 result := result nextLink. |
|
401 self deny:(result = nil). |
|
402 self assert:(result deleted = 0). |
|
403 self assert:(result inserted = 5). |
|
404 self assert:(result line0 = 6). |
|
405 self assert:(result line1 = 9). |
|
406 result := result nextLink. |
|
407 self deny:(result = nil). |
|
408 self assert:(result deleted = 0). |
|
409 self assert:(result inserted = 1). |
|
410 self assert:(result line0 = 4). |
|
411 self assert:(result line1 = 6). |
|
412 result := result nextLink. |
|
413 self deny:(result = nil). |
|
414 self assert:(result deleted = 1). |
|
415 self assert:(result inserted = 4). |
|
416 self assert:(result line0 = 2). |
|
417 self assert:(result line1 = 1). |
|
418 result := result nextLink. |
|
419 self deny:(result = nil). |
|
420 self assert:(result deleted = 1). |
|
421 self assert:(result inserted = 0). |
|
422 self assert:(result line0 = 0). |
|
423 self assert:(result line1 = 0). |
|
424 self assert:(result nextLink = nil). |
|
425 ! |
|
426 |
|
427 testReverse2 |
|
428 "comment stating purpose of message" |
|
429 |
|
430 |d a b result| |
|
431 |
|
432 a := ''. |
|
433 b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). |
|
434 d := Diff new. |
|
435 d a:a b:b. |
|
436 result := d diffUsingScript:(Diff::ReverseScript new). |
|
437 self deny:(result = nil). |
|
438 self assert:(result deleted = 0). |
|
439 self assert:(result inserted = 11). |
|
440 self assert:(result line0 = 0). |
|
441 self assert:(result line1 = 0). |
|
442 self assert:(result nextLink = nil). |
|
443 ! |
|
444 |
|
445 testReverse3 |
|
446 "comment stating purpose of message" |
|
447 |
|
448 |d a b result| |
|
449 |
|
450 a := #( 'aaa' 'lll' ). |
|
451 b := ''. |
|
452 d := Diff new. |
|
453 d a:a b:b. |
|
454 result := d diffUsingScript:(Diff::ReverseScript new). |
|
455 self deny:(result = nil). |
|
456 self assert:(result deleted = 2). |
|
457 self assert:(result inserted = 0). |
|
458 self assert:(result line0 = 0). |
|
459 self assert:(result line1 = 0). |
|
460 self assert:(result nextLink = nil). |
|
461 ! |
|
462 |
|
463 testReverse4 |
|
464 "comment stating purpose of message" |
|
465 |
|
466 |d a b result| |
|
467 |
|
468 a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
469 b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). |
|
470 d := Diff new. |
|
471 d a:a b:b. |
|
472 result := d diffUsingScript:(Diff::ReverseScript new). |
|
473 self deny:(result = nil). |
|
474 self assert:(result deleted = 0). |
|
475 self assert:(result inserted = 6). |
|
476 self assert:(result line0 = 5). |
|
477 self assert:(result line1 = 10). |
|
478 result := result nextLink. |
|
479 self deny:(result = nil). |
|
480 self assert:(result deleted = 0). |
|
481 self assert:(result inserted = 5). |
|
482 self assert:(result line0 = 1). |
|
483 self assert:(result line1 = 1). |
|
484 self assert:(result nextLink = nil). |
|
485 ! |
|
486 |
|
487 testReverse5 |
|
488 "comment stating purpose of message" |
|
489 |
|
490 |d a b result| |
|
491 |
|
492 a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
493 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
494 d := Diff new. |
|
495 d a:a b:b. |
|
496 result := d diffUsingScript:(Diff::ReverseScript new). |
|
497 self deny:(result = nil). |
|
498 self assert:(result deleted = 0). |
|
499 self assert:(result inserted = 5). |
|
500 self assert:(result line0 = 4). |
|
501 self assert:(result line1 = 9). |
|
502 result := result nextLink. |
|
503 self deny:(result = nil). |
|
504 self assert:(result deleted = 0). |
|
505 self assert:(result inserted = 5). |
|
506 self assert:(result line0 = 2). |
|
507 self assert:(result line1 = 2). |
|
508 self assert:(result nextLink = nil). |
|
509 ! |
|
510 |
|
511 testReverse6 |
|
512 "comment stating purpose of message" |
|
513 |
|
514 |d a b result| |
|
515 |
|
516 a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
517 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
518 d := Diff new. |
|
519 d a:a b:b. |
|
520 result := d diffUsingScript:(Diff::ReverseScript new). |
|
521 self deny:(result = nil). |
|
522 self assert:(result deleted = 0). |
|
523 self assert:(result inserted = 5). |
|
524 self assert:(result line0 = 6). |
|
525 self assert:(result line1 = 9). |
|
526 result := result nextLink. |
|
527 self deny:(result = nil). |
|
528 self assert:(result deleted = 1). |
|
529 self assert:(result inserted = 1). |
|
530 self assert:(result line0 = 3). |
|
531 self assert:(result line1 = 6). |
|
532 result := result nextLink. |
|
533 self deny:(result = nil). |
|
534 self assert:(result deleted = 0). |
|
535 self assert:(result inserted = 3). |
|
536 self assert:(result line0 = 2). |
|
537 self assert:(result line1 = 2). |
|
538 self assert:(result nextLink = nil). |
|
539 ! |
|
540 |
|
541 testReverse7 |
|
542 "comment stating purpose of message" |
|
543 |
|
544 |d a b result| |
|
545 |
|
546 a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
547 b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
548 d := Diff new. |
|
549 d a:a b:b. |
|
550 result := d diffUsingScript:(Diff::ReverseScript new). |
|
551 self deny:(result = nil). |
|
552 self assert:(result deleted = 0). |
|
553 self assert:(result inserted = 5). |
|
554 self assert:(result line0 = 6). |
|
555 self assert:(result line1 = 10). |
|
556 result := result nextLink. |
|
557 self deny:(result = nil). |
|
558 self assert:(result deleted = 0). |
|
559 self assert:(result inserted = 1). |
|
560 self assert:(result line0 = 4). |
|
561 self assert:(result line1 = 7). |
|
562 result := result nextLink. |
|
563 self deny:(result = nil). |
|
564 self assert:(result deleted = 0). |
|
565 self assert:(result inserted = 3). |
|
566 self assert:(result line0 = 2). |
|
567 self assert:(result line1 = 2). |
|
568 self assert:(result nextLink = nil). |
|
569 ! |
|
570 |
|
571 testReverse8 |
|
572 "comment stating purpose of message" |
|
573 |
|
574 |d a b result| |
|
575 |
|
576 a := #( 'aaaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
577 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
578 d := Diff new. |
|
579 d a:a b:b. |
|
580 result := d diffUsingScript:(Diff::ReverseScript new). |
|
581 self deny:(result = nil). |
|
582 self assert:(result deleted = 0). |
|
583 self assert:(result inserted = 5). |
|
584 self assert:(result line0 = 6). |
|
585 self assert:(result line1 = 9). |
|
586 result := result nextLink. |
|
587 self deny:(result = nil). |
|
588 self assert:(result deleted = 0). |
|
589 self assert:(result inserted = 1). |
|
590 self assert:(result line0 = 4). |
|
591 self assert:(result line1 = 6). |
|
592 result := result nextLink. |
|
593 self deny:(result = nil). |
|
594 self assert:(result deleted = 1). |
|
595 self assert:(result inserted = 4). |
|
596 self assert:(result line0 = 2). |
|
597 self assert:(result line1 = 1). |
|
598 result := result nextLink. |
|
599 self deny:(result = nil). |
|
600 self assert:(result deleted = 1). |
|
601 self assert:(result inserted = 0). |
|
602 self assert:(result line0 = 0). |
|
603 self assert:(result line1 = 0). |
|
604 self assert:(result nextLink = nil). |
|
605 ! |
|
606 |
|
607 testReverse9 |
|
608 "comment stating purpose of message" |
|
609 |
|
610 |d a b result| |
|
611 |
|
612 a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). |
|
613 b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). |
|
614 d := Diff new. |
|
615 d a:a b:b. |
|
616 result := d diffUsingScript:(Diff::ReverseScript new). |
|
617 self deny:(result = nil). |
|
618 self assert:(result deleted = 0). |
|
619 self assert:(result inserted = 5). |
|
620 self assert:(result line0 = 6). |
|
621 self assert:(result line1 = 9). |
|
622 result := result nextLink. |
|
623 self deny:(result = nil). |
|
624 self assert:(result deleted = 0). |
|
625 self assert:(result inserted = 1). |
|
626 self assert:(result line0 = 4). |
|
627 self assert:(result line1 = 6). |
|
628 result := result nextLink. |
|
629 self deny:(result = nil). |
|
630 self assert:(result deleted = 1). |
|
631 self assert:(result inserted = 4). |
|
632 self assert:(result line0 = 2). |
|
633 self assert:(result line1 = 1). |
|
634 result := result nextLink. |
|
635 self deny:(result = nil). |
|
636 self assert:(result deleted = 1). |
|
637 self assert:(result inserted = 0). |
|
638 self assert:(result line0 = 0). |
|
639 self assert:(result line1 = 0). |
|
640 self assert:(result nextLink = nil). |
|
641 ! ! |
|
642 |
|
643 !TextDiffTests class methodsFor:'documentation'! |
|
644 |
|
645 version_CVS |
|
646 ^ '$Header: /cvs/stx/stx/libtool/TextDiffTests.st,v 1.1 2011-07-01 14:12:24 cg Exp $' |
|
647 ! |
|
648 |
|
649 version_SVN |
|
650 ^ '§Id: TextDiffTests.st 7546 2010-02-25 21:31:39Z vranyj1 §' |
|
651 ! ! |