Show More
@@ -29,25 +29,25 b' class BdiffTests(unittest.TestCase):' | |||||
29 |
|
29 | |||
30 | def test_bdiff_basic(self): |
|
30 | def test_bdiff_basic(self): | |
31 | cases = [ |
|
31 | cases = [ | |
32 | ("a\nc\n\n\n\n", "a\nb\n\n\n"), |
|
32 | (b"a\nc\n\n\n\n", b"a\nb\n\n\n"), | |
33 | ("a\nb\nc\n", "a\nc\n"), |
|
33 | (b"a\nb\nc\n", b"a\nc\n"), | |
34 | ("", ""), |
|
34 | (b"", b""), | |
35 | ("a\nb\nc", "a\nb\nc"), |
|
35 | (b"a\nb\nc", b"a\nb\nc"), | |
36 | ("a\nb\nc\nd\n", "a\nd\n"), |
|
36 | (b"a\nb\nc\nd\n", b"a\nd\n"), | |
37 | ("a\nb\nc\nd\n", "a\nc\ne\n"), |
|
37 | (b"a\nb\nc\nd\n", b"a\nc\ne\n"), | |
38 | ("a\nb\nc\n", "a\nc\n"), |
|
38 | (b"a\nb\nc\n", b"a\nc\n"), | |
39 | ("a\n", "c\na\nb\n"), |
|
39 | (b"a\n", b"c\na\nb\n"), | |
40 | ("a\n", ""), |
|
40 | (b"a\n", b""), | |
41 | ("a\n", "b\nc\n"), |
|
41 | (b"a\n", b"b\nc\n"), | |
42 | ("a\n", "c\na\n"), |
|
42 | (b"a\n", b"c\na\n"), | |
43 | ("", "adjfkjdjksdhfksj"), |
|
43 | (b"", b"adjfkjdjksdhfksj"), | |
44 | ("", "ab"), |
|
44 | (b"", b"ab"), | |
45 | ("", "abc"), |
|
45 | (b"", b"abc"), | |
46 | ("a", "a"), |
|
46 | (b"a", b"a"), | |
47 | ("ab", "ab"), |
|
47 | (b"ab", b"ab"), | |
48 | ("abc", "abc"), |
|
48 | (b"abc", b"abc"), | |
49 | ("a\n", "a\n"), |
|
49 | (b"a\n", b"a\n"), | |
50 | ("a\nb", "a\nb"), |
|
50 | (b"a\nb", b"a\nb"), | |
51 | ] |
|
51 | ] | |
52 | for a, b in cases: |
|
52 | for a, b in cases: | |
53 | self.assert_bdiff(a, b) |
|
53 | self.assert_bdiff(a, b) | |
@@ -71,42 +71,44 b' class BdiffTests(unittest.TestCase):' | |||||
71 |
|
71 | |||
72 | def test_issue1295(self): |
|
72 | def test_issue1295(self): | |
73 | cases = [ |
|
73 | cases = [ | |
74 | ("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n", |
|
74 | (b"x\n\nx\n\nx\n\nx\n\nz\n", b"x\n\nx\n\ny\n\nx\n\nx\n\nz\n", | |
75 | ['x\n\nx\n\n', diffreplace(6, 6, '', 'y\n\n'), 'x\n\nx\n\nz\n']), |
|
75 | [b'x\n\nx\n\n', | |
76 | ("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n", |
|
76 | diffreplace(6, 6, b'', b'y\n\n'), | |
77 |
|
|
77 | b'x\n\nx\n\nz\n']), | |
78 | diffreplace(6, 6, '', 'y\n\n'), |
|
78 | (b"x\n\nx\n\nx\n\nx\n\nz\n", b"x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n", | |
79 |
|
|
79 | [b'x\n\nx\n\n', | |
80 |
diffreplace( |
|
80 | diffreplace(6, 6, b'', b'y\n\n'), | |
81 |
'x\n\n |
|
81 | b'x\n\n', | |
|
82 | diffreplace(9, 9, b'', b'y\n\n'), | |||
|
83 | b'x\n\nz\n']), | |||
82 | ] |
|
84 | ] | |
83 | for old, new, want in cases: |
|
85 | for old, new, want in cases: | |
84 | self.assertEqual(self.showdiff(old, new), want) |
|
86 | self.assertEqual(self.showdiff(old, new), want) | |
85 |
|
87 | |||
86 | def test_issue1295_varies_on_pure(self): |
|
88 | def test_issue1295_varies_on_pure(self): | |
87 | # we should pick up abbbc. rather than bc.de as the longest match |
|
89 | # we should pick up abbbc. rather than bc.de as the longest match | |
88 | got = self.showdiff("a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n", |
|
90 | got = self.showdiff(b"a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n", | |
89 | "a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n") |
|
91 | b"a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n") | |
90 | want_c = ['a\nb\nb\n', |
|
92 | want_c = [b'a\nb\nb\n', | |
91 | diffreplace(6, 6, '', 'a\nb\nb\nb\nc\n.\n'), |
|
93 | diffreplace(6, 6, b'', b'a\nb\nb\nb\nc\n.\n'), | |
92 | 'b\nc\n.\nd\ne\n', |
|
94 | b'b\nc\n.\nd\ne\n', | |
93 | diffreplace(16, 18, '.\n', ''), |
|
95 | diffreplace(16, 18, b'.\n', b''), | |
94 | 'f\n'] |
|
96 | b'f\n'] | |
95 | want_pure = [diffreplace(0, 0, '', 'a\nb\nb\n'), |
|
97 | want_pure = [diffreplace(0, 0, b'', b'a\nb\nb\n'), | |
96 | 'a\nb\nb\nb\nc\n.\n', |
|
98 | b'a\nb\nb\nb\nc\n.\n', | |
97 | diffreplace(12, 12, '', 'b\nc\n.\n'), |
|
99 | diffreplace(12, 12, b'', b'b\nc\n.\n'), | |
98 | 'd\ne\n', |
|
100 | b'd\ne\n', | |
99 | diffreplace(16, 18, '.\n', ''), 'f\n'] |
|
101 | diffreplace(16, 18, b'.\n', b''), b'f\n'] | |
100 | self.assert_(got in (want_c, want_pure), |
|
102 | self.assert_(got in (want_c, want_pure), | |
101 | 'got: %r, wanted either %r or %r' % ( |
|
103 | 'got: %r, wanted either %r or %r' % ( | |
102 | got, want_c, want_pure)) |
|
104 | got, want_c, want_pure)) | |
103 |
|
105 | |||
104 | def test_fixws(self): |
|
106 | def test_fixws(self): | |
105 | cases = [ |
|
107 | cases = [ | |
106 | (" \ta\r b\t\n", "ab\n", 1), |
|
108 | (b" \ta\r b\t\n", b"ab\n", 1), | |
107 | (" \ta\r b\t\n", " a b\n", 0), |
|
109 | (b" \ta\r b\t\n", b" a b\n", 0), | |
108 | ("", "", 1), |
|
110 | (b"", b"", 1), | |
109 | ("", "", 0), |
|
111 | (b"", b"", 0), | |
110 | ] |
|
112 | ] | |
111 | for a, b, allws in cases: |
|
113 | for a, b, allws in cases: | |
112 | c = mdiff.fixws(a, allws) |
|
114 | c = mdiff.fixws(a, allws) | |
@@ -115,34 +117,34 b' class BdiffTests(unittest.TestCase):' | |||||
115 |
|
117 | |||
116 | def test_nice_diff_for_trivial_change(self): |
|
118 | def test_nice_diff_for_trivial_change(self): | |
117 | self.assertEqual(self.showdiff( |
|
119 | self.assertEqual(self.showdiff( | |
118 | ''.join('<%s\n-\n' % i for i in range(5)), |
|
120 | b''.join(b'<%s\n-\n' % i for i in range(5)), | |
119 | ''.join('>%s\n-\n' % i for i in range(5))), |
|
121 | b''.join(b'>%s\n-\n' % i for i in range(5))), | |
120 | [diffreplace(0, 3, '<0\n', '>0\n'), |
|
122 | [diffreplace(0, 3, b'<0\n', b'>0\n'), | |
121 | '-\n', |
|
123 | b'-\n', | |
122 | diffreplace(5, 8, '<1\n', '>1\n'), |
|
124 | diffreplace(5, 8, b'<1\n', b'>1\n'), | |
123 | '-\n', |
|
125 | b'-\n', | |
124 | diffreplace(10, 13, '<2\n', '>2\n'), |
|
126 | diffreplace(10, 13, b'<2\n', b'>2\n'), | |
125 | '-\n', |
|
127 | b'-\n', | |
126 | diffreplace(15, 18, '<3\n', '>3\n'), |
|
128 | diffreplace(15, 18, b'<3\n', b'>3\n'), | |
127 | '-\n', |
|
129 | b'-\n', | |
128 | diffreplace(20, 23, '<4\n', '>4\n'), |
|
130 | diffreplace(20, 23, b'<4\n', b'>4\n'), | |
129 | '-\n']) |
|
131 | b'-\n']) | |
130 |
|
132 | |||
131 | def test_prefer_appending(self): |
|
133 | def test_prefer_appending(self): | |
132 | # 1 line to 3 lines |
|
134 | # 1 line to 3 lines | |
133 | self.assertEqual(self.showdiff('a\n', 'a\n' * 3), |
|
135 | self.assertEqual(self.showdiff(b'a\n', b'a\n' * 3), | |
134 | ['a\n', diffreplace(2, 2, '', 'a\na\n')]) |
|
136 | [b'a\n', diffreplace(2, 2, b'', b'a\na\n')]) | |
135 | # 1 line to 5 lines |
|
137 | # 1 line to 5 lines | |
136 | self.assertEqual(self.showdiff('a\n', 'a\n' * 5), |
|
138 | self.assertEqual(self.showdiff(b'a\n', b'a\n' * 5), | |
137 | ['a\n', diffreplace(2, 2, '', 'a\na\na\na\n')]) |
|
139 | [b'a\n', diffreplace(2, 2, b'', b'a\na\na\na\n')]) | |
138 |
|
140 | |||
139 | def test_prefer_removing_trailing(self): |
|
141 | def test_prefer_removing_trailing(self): | |
140 | # 3 lines to 1 line |
|
142 | # 3 lines to 1 line | |
141 | self.assertEqual(self.showdiff('a\n' * 3, 'a\n'), |
|
143 | self.assertEqual(self.showdiff(b'a\n' * 3, b'a\n'), | |
142 | ['a\n', diffreplace(2, 6, 'a\na\n', '')]) |
|
144 | [b'a\n', diffreplace(2, 6, b'a\na\n', b'')]) | |
143 | # 5 lines to 1 line |
|
145 | # 5 lines to 1 line | |
144 | self.assertEqual(self.showdiff('a\n' * 5, 'a\n'), |
|
146 | self.assertEqual(self.showdiff(b'a\n' * 5, b'a\n'), | |
145 | ['a\n', diffreplace(2, 10, 'a\na\na\na\n', '')]) |
|
147 | [b'a\n', diffreplace(2, 10, b'a\na\na\na\n', b'')]) | |
146 |
|
148 | |||
147 | if __name__ == '__main__': |
|
149 | if __name__ == '__main__': | |
148 | import silenttestrunner |
|
150 | import silenttestrunner |
General Comments 0
You need to be logged in to leave comments.
Login now