Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(458)

Side by Side Diff: Tools/Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl

Issue 1253013003: Remove all perl scripts from Tools/Scripts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove the python code to invoke Perl \o/ Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #!/usr/bin/perl
2 #
3 # Copyright (C) 2009, 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
4 # Copyright (C) Research In Motion 2010. All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are
8 # met:
9 #
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above
13 # copyright notice, this list of conditions and the following disclaimer
14 # in the documentation and/or other materials provided with the
15 # distribution.
16 # * Neither the name of Google Inc. nor the names of its
17 # contributors may be used to endorse or promote products derived from
18 # this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32 # Unit tests of VCSUtils::fixChangeLogPatch().
33
34 use strict;
35 use warnings;
36
37 use Test::More;
38 use VCSUtils;
39
40 # The source ChangeLog for these tests is the following:
41 #
42 # 2009-12-22 Alice <alice@email.address>
43 #
44 # Reviewed by Ray.
45 #
46 # Changed some code on 2009-12-22.
47 #
48 # * File:
49 # * File2:
50 #
51 # 2009-12-21 Alice <alice@email.address>
52 #
53 # Reviewed by Ray.
54 #
55 # Changed some code on 2009-12-21.
56 #
57 # * File:
58 # * File2:
59
60 my @testCaseHashRefs = (
61 { # New test
62 diffName => "fixChangeLogPatch: [no change] In-place change.",
63 inputText => <<'END',
64 --- ChangeLog
65 +++ ChangeLog
66 @@ -1,5 +1,5 @@
67 2010-12-22 Bob <bob@email.address>
68
69 - Reviewed by Sue.
70 + Reviewed by Ray.
71
72 Changed some code on 2010-12-22.
73 END
74 expectedReturn => {
75 patch => <<'END',
76 --- ChangeLog
77 +++ ChangeLog
78 @@ -1,5 +1,5 @@
79 2010-12-22 Bob <bob@email.address>
80
81 - Reviewed by Sue.
82 + Reviewed by Ray.
83
84 Changed some code on 2010-12-22.
85 END
86 }
87 },
88 { # New test
89 diffName => "fixChangeLogPatch: [no change] Remove first entry.",
90 inputText => <<'END',
91 --- ChangeLog
92 +++ ChangeLog
93 @@ -1,11 +1,3 @@
94 -2010-12-22 Bob <bob@email.address>
95 -
96 - Reviewed by Ray.
97 -
98 - Changed some code on 2010-12-22.
99 -
100 - * File:
101 -
102 2010-12-22 Alice <alice@email.address>
103
104 Reviewed by Ray.
105 END
106 expectedReturn => {
107 patch => <<'END',
108 --- ChangeLog
109 +++ ChangeLog
110 @@ -1,11 +1,3 @@
111 -2010-12-22 Bob <bob@email.address>
112 -
113 - Reviewed by Ray.
114 -
115 - Changed some code on 2010-12-22.
116 -
117 - * File:
118 -
119 2010-12-22 Alice <alice@email.address>
120
121 Reviewed by Ray.
122 END
123 }
124 },
125 { # New test
126 diffName => "fixChangeLogPatch: [no change] Remove entry in the middle.",
127 inputText => <<'END',
128 --- ChangeLog
129 +++ ChangeLog
130 @@@ -7,10 +7,6 @@
131
132 * File:
133
134 -2010-12-22 Bob <bob@email.address>
135 -
136 - Changed some code on 2010-12-22.
137 -
138 2010-12-22 Alice <alice@email.address>
139
140 Reviewed by Ray.
141 END
142 expectedReturn => {
143 patch => <<'END',
144 --- ChangeLog
145 +++ ChangeLog
146 @@@ -7,10 +7,6 @@
147
148 * File:
149
150 -2010-12-22 Bob <bob@email.address>
151 -
152 - Changed some code on 2010-12-22.
153 -
154 2010-12-22 Alice <alice@email.address>
155
156 Reviewed by Ray.
157 END
158 }
159 },
160 { # New test
161 diffName => "fixChangeLogPatch: [no change] Far apart changes (i.e. more tha n one chunk).",
162 inputText => <<'END',
163 --- ChangeLog
164 +++ ChangeLog
165 @@ -7,7 +7,7 @@
166
167 * File:
168
169 -2010-12-22 Bob <bob@email.address>
170 +2010-12-22 Bobby <bob@email.address>
171
172 Changed some code on 2010-12-22.
173
174 @@ -21,7 +21,7 @@
175
176 * File2:
177
178 -2010-12-21 Bob <bob@email.address>
179 +2010-12-21 Bobby <bob@email.address>
180
181 Changed some code on 2010-12-21.
182 END
183 expectedReturn => {
184 patch => <<'END',
185 --- ChangeLog
186 +++ ChangeLog
187 @@ -7,7 +7,7 @@
188
189 * File:
190
191 -2010-12-22 Bob <bob@email.address>
192 +2010-12-22 Bobby <bob@email.address>
193
194 Changed some code on 2010-12-22.
195
196 @@ -21,7 +21,7 @@
197
198 * File2:
199
200 -2010-12-21 Bob <bob@email.address>
201 +2010-12-21 Bobby <bob@email.address>
202
203 Changed some code on 2010-12-21.
204 END
205 }
206 },
207 { # New test
208 diffName => "fixChangeLogPatch: [no change] First line is new line.",
209 inputText => <<'END',
210 --- ChangeLog
211 +++ ChangeLog
212 @@ -1,3 +1,11 @@
213 +2009-12-22 Bob <bob@email.address>
214 +
215 + Reviewed by Ray.
216 +
217 + Changed some more code on 2009-12-22.
218 +
219 + * File:
220 +
221 2009-12-22 Alice <alice@email.address>
222
223 Reviewed by Ray.
224 END
225 expectedReturn => {
226 patch => <<'END',
227 --- ChangeLog
228 +++ ChangeLog
229 @@ -1,3 +1,11 @@
230 +2009-12-22 Bob <bob@email.address>
231 +
232 + Reviewed by Ray.
233 +
234 + Changed some more code on 2009-12-22.
235 +
236 + * File:
237 +
238 2009-12-22 Alice <alice@email.address>
239
240 Reviewed by Ray.
241 END
242 }
243 },
244 { # New test
245 diffName => "fixChangeLogPatch: [no change] No date string.",
246 inputText => <<'END',
247 --- ChangeLog
248 +++ ChangeLog
249 @@ -6,6 +6,7 @@
250
251 * File:
252 * File2:
253 + * File3:
254
255 2009-12-21 Alice <alice@email.address>
256
257 END
258 expectedReturn => {
259 patch => <<'END',
260 --- ChangeLog
261 +++ ChangeLog
262 @@ -6,6 +6,7 @@
263
264 * File:
265 * File2:
266 + * File3:
267
268 2009-12-21 Alice <alice@email.address>
269
270 END
271 }
272 },
273 { # New test
274 diffName => "fixChangeLogPatch: New entry inserted in middle.",
275 inputText => <<'END',
276 --- ChangeLog
277 +++ ChangeLog
278 @@ -11,6 +11,14 @@
279
280 Reviewed by Ray.
281
282 + Changed some more code on 2009-12-21.
283 +
284 + * File:
285 +
286 +2009-12-21 Alice <alice@email.address>
287 +
288 + Reviewed by Ray.
289 +
290 Changed some code on 2009-12-21.
291
292 * File:
293 END
294 expectedReturn => {
295 patch => <<'END',
296 --- ChangeLog
297 +++ ChangeLog
298 @@ -1,3 +1,11 @@
299 +2009-12-21 Alice <alice@email.address>
300 +
301 + Reviewed by Ray.
302 +
303 + Changed some more code on 2009-12-21.
304 +
305 + * File:
306 +
307 2009-12-21 Alice <alice@email.address>
308
309 Reviewed by Ray.
310 END
311 }
312 },
313 { # New test
314 diffName => "fixChangeLogPatch: New entry inserted earlier in the file, but after an entry with the same author and date.",
315 inputText => <<'END',
316 --- ChangeLog
317 +++ ChangeLog
318 @@ -70,6 +70,14 @@
319
320 2009-12-22 Alice <alice@email.address>
321
322 + Reviewed by Sue.
323 +
324 + Changed some more code on 2009-12-22.
325 +
326 + * File:
327 +
328 +2009-12-22 Alice <alice@email.address>
329 +
330 Reviewed by Ray.
331
332 Changed some code on 2009-12-22.
333 END
334 expectedReturn => {
335 patch => <<'END',
336 --- ChangeLog
337 +++ ChangeLog
338 @@ -1,3 +1,11 @@
339 +2009-12-22 Alice <alice@email.address>
340 +
341 + Reviewed by Sue.
342 +
343 + Changed some more code on 2009-12-22.
344 +
345 + * File:
346 +
347 2009-12-22 Alice <alice@email.address>
348
349 Reviewed by Ray.
350 END
351 }
352 },
353 { # New test
354 diffName => "fixChangeLogPatch: Leading context includes first line.",
355 inputText => <<'END',
356 --- ChangeLog
357 +++ ChangeLog
358 @@ -1,5 +1,13 @@
359 2009-12-22 Alice <alice@email.address>
360
361 + Reviewed by Sue.
362 +
363 + Changed some more code on 2009-12-22.
364 +
365 + * File:
366 +
367 +2009-12-22 Alice <alice@email.address>
368 +
369 Reviewed by Ray.
370
371 Changed some code on 2009-12-22.
372 END
373 expectedReturn => {
374 patch => <<'END',
375 --- ChangeLog
376 +++ ChangeLog
377 @@ -1,3 +1,11 @@
378 +2009-12-22 Alice <alice@email.address>
379 +
380 + Reviewed by Sue.
381 +
382 + Changed some more code on 2009-12-22.
383 +
384 + * File:
385 +
386 2009-12-22 Alice <alice@email.address>
387
388 Reviewed by Ray.
389 END
390 }
391 },
392 { # New test
393 diffName => "fixChangeLogPatch: Leading context does not include first line. ",
394 inputText => <<'END',
395 @@ -2,6 +2,14 @@
396
397 Reviewed by Ray.
398
399 + Changed some more code on 2009-12-22.
400 +
401 + * File:
402 +
403 +2009-12-22 Alice <alice@email.address>
404 +
405 + Reviewed by Ray.
406 +
407 Changed some code on 2009-12-22.
408
409 * File:
410 END
411 expectedReturn => {
412 patch => <<'END',
413 @@ -1,3 +1,11 @@
414 +2009-12-22 Alice <alice@email.address>
415 +
416 + Reviewed by Ray.
417 +
418 + Changed some more code on 2009-12-22.
419 +
420 + * File:
421 +
422 2009-12-22 Alice <alice@email.address>
423
424 Reviewed by Ray.
425 END
426 }
427 },
428 { # New test
429 diffName => "fixChangeLogPatch: Non-consecutive line additions.",
430
431 # This can occur, for example, if the new ChangeLog entry includes
432 # trailing white space in the first blank line but not the second.
433 # A diff command can then match the second blank line of the new
434 # ChangeLog entry with the first blank line of the old.
435 # The svn diff command with the default --diff-cmd has done this.
436 inputText => <<'END',
437 @@ -1,5 +1,11 @@
438 2009-12-22 Alice <alice@email.address>
439 + <pretend-whitespace>
440 + Reviewed by Ray.
441
442 + Changed some more code on 2009-12-22.
443 +
444 +2009-12-22 Alice <alice@email.address>
445 +
446 Reviewed by Ray.
447
448 Changed some code on 2009-12-22.
449 END
450 expectedReturn => {
451 patch => <<'END',
452 @@ -1,3 +1,9 @@
453 +2009-12-22 Alice <alice@email.address>
454 + <pretend-whitespace>
455 + Reviewed by Ray.
456 +
457 + Changed some more code on 2009-12-22.
458 +
459 2009-12-22 Alice <alice@email.address>
460
461 Reviewed by Ray.
462 END
463 }
464 },
465 { # New test
466 diffName => "fixChangeLogPatch: Additional edits after new entry.",
467 inputText => <<'END',
468 @@ -2,10 +2,17 @@
469
470 Reviewed by Ray.
471
472 + Changed some more code on 2009-12-22.
473 +
474 + * File:
475 +
476 +2009-12-22 Alice <alice@email.address>
477 +
478 + Reviewed by Ray.
479 +
480 Changed some code on 2009-12-22.
481
482 * File:
483 - * File2:
484
485 2009-12-21 Alice <alice@email.address>
486
487 END
488 expectedReturn => {
489 patch => <<'END',
490 @@ -1,11 +1,18 @@
491 +2009-12-22 Alice <alice@email.address>
492 +
493 + Reviewed by Ray.
494 +
495 + Changed some more code on 2009-12-22.
496 +
497 + * File:
498 +
499 2009-12-22 Alice <alice@email.address>
500
501 Reviewed by Ray.
502
503 Changed some code on 2009-12-22.
504
505 * File:
506 - * File2:
507
508 2009-12-21 Alice <alice@email.address>
509
510 END
511 }
512 },
513 );
514
515 my $testCasesCount = @testCaseHashRefs;
516 plan(tests => $testCasesCount); # Total number of assertions.
517
518 foreach my $testCase (@testCaseHashRefs) {
519 my $testNameStart = "fixChangeLogPatch(): $testCase->{diffName}: comparing";
520
521 my $got = VCSUtils::fixChangeLogPatch($testCase->{inputText});
522 my $expectedReturn = $testCase->{expectedReturn};
523
524 is_deeply($got, $expectedReturn, "$testNameStart return value.");
525 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698