OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 import unittest | |
7 | |
8 import patching | |
9 | |
10 | |
11 class TestParsePatchToLines(unittest.TestCase): | |
12 def test_empty(self): | |
13 self.assertEquals([], patching.ParsePatchToLines([])) | |
14 | |
15 def test_prelude(self): | |
16 self.assertEquals([], patching.ParsePatchToLines(""" | |
17 Here goes some prelude. | |
18 And it continues on for some while. | |
19 | |
20 --- file | |
21 +++ file | |
22 """.splitlines())) | |
23 | |
24 def test_bad_hunk_header(self): | |
25 with self.assertRaises(patching.PatchParseError): | |
26 patching.ParsePatchToLines(""" | |
27 --- file | |
28 +++ file | |
29 @@ bad | |
30 """.splitlines()) | |
31 | |
32 def test_multiple_files(self): | |
33 with self.assertRaises(patching.PatchParseError): | |
34 patching.ParsePatchToLines(""" | |
35 diff -urN test1/bar test2/bar | |
36 --- test1/bar 2013-08-08 14:15:46.604119530 +0200 | |
37 +++ test2/bar 2013-08-08 14:15:49.814145535 +0200 | |
38 @@ -1 +1 @@ | |
39 -foo | |
40 +bar | |
41 diff -urN test1/foo test2/foo | |
42 --- test1/foo 2013-08-08 14:15:36.044033982 +0200 | |
43 +++ test2/foo 2013-08-08 14:15:42.204083886 +0200 | |
44 @@ -1 +1 @@ | |
45 -foo | |
46 +bar | |
47 """.splitlines()) | |
48 | |
49 def test_simple(self): | |
50 self.assertEquals([ | |
51 (1, 1, 'common line'), | |
52 (2, None, 'old line'), | |
53 (None, 2, 'new line'), | |
54 (3, 3, 'common line'), | |
55 ], patching.ParsePatchToLines(""" | |
56 --- old 2013-08-08 14:05:18.539090366 +0200 | |
57 +++ new 2013-08-08 14:05:18.539090366 +0200 | |
58 @@ -1,3 +1,3 @@ | |
59 common line | |
60 -old line | |
61 +new line | |
62 common line | |
63 """.splitlines())) | |
64 | |
65 def test_multiple_hunks(self): | |
66 self.assertEquals([ | |
67 (None, 1, 'prepended line'), | |
68 (1, 2, ''), | |
69 (2, 3, ''), | |
70 (3, 4, ''), | |
71 (8, 9, ''), | |
72 (9, 10, ''), | |
73 (10, 11, ''), | |
74 (None, 12, 'appended line'), | |
75 ], patching.ParsePatchToLines(""" | |
76 --- old 2013-08-08 14:10:10.391408985 +0200 | |
77 +++ new 2013-08-08 14:10:15.511449623 +0200 | |
78 @@ -1,3 +1,4 @@ | |
79 +prepended line | |
80 | |
81 | |
82 | |
83 @@ -8,3 +9,4 @@ | |
84 | |
85 | |
86 | |
87 +appended line | |
88 """.splitlines())) | |
89 | |
90 if __name__ == '__main__': | |
91 unittest.main() | |
OLD | NEW |