tests/test-bdiff.py
changeset 39787 e05d7c71f209
parent 32203 0c73634d0570
child 39788 69defbb83be7
--- a/tests/test-bdiff.py	Sun Sep 23 22:57:17 2018 +0300
+++ b/tests/test-bdiff.py	Sun Sep 23 23:34:22 2018 +0300
@@ -29,25 +29,25 @@
 
     def test_bdiff_basic(self):
         cases = [
-            ("a\nc\n\n\n\n", "a\nb\n\n\n"),
-            ("a\nb\nc\n", "a\nc\n"),
-            ("", ""),
-            ("a\nb\nc", "a\nb\nc"),
-            ("a\nb\nc\nd\n", "a\nd\n"),
-            ("a\nb\nc\nd\n", "a\nc\ne\n"),
-            ("a\nb\nc\n", "a\nc\n"),
-            ("a\n", "c\na\nb\n"),
-            ("a\n", ""),
-            ("a\n", "b\nc\n"),
-            ("a\n", "c\na\n"),
-            ("", "adjfkjdjksdhfksj"),
-            ("", "ab"),
-            ("", "abc"),
-            ("a", "a"),
-            ("ab", "ab"),
-            ("abc", "abc"),
-            ("a\n", "a\n"),
-            ("a\nb", "a\nb"),
+            (b"a\nc\n\n\n\n", b"a\nb\n\n\n"),
+            (b"a\nb\nc\n", b"a\nc\n"),
+            (b"", b""),
+            (b"a\nb\nc", b"a\nb\nc"),
+            (b"a\nb\nc\nd\n", b"a\nd\n"),
+            (b"a\nb\nc\nd\n", b"a\nc\ne\n"),
+            (b"a\nb\nc\n", b"a\nc\n"),
+            (b"a\n", b"c\na\nb\n"),
+            (b"a\n", b""),
+            (b"a\n", b"b\nc\n"),
+            (b"a\n", b"c\na\n"),
+            (b"", b"adjfkjdjksdhfksj"),
+            (b"", b"ab"),
+            (b"", b"abc"),
+            (b"a", b"a"),
+            (b"ab", b"ab"),
+            (b"abc", b"abc"),
+            (b"a\n", b"a\n"),
+            (b"a\nb", b"a\nb"),
         ]
         for a, b in cases:
             self.assert_bdiff(a, b)
@@ -71,42 +71,44 @@
 
     def test_issue1295(self):
         cases = [
-            ("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n",
-             ['x\n\nx\n\n', diffreplace(6, 6, '', 'y\n\n'), 'x\n\nx\n\nz\n']),
-            ("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n",
-             ['x\n\nx\n\n',
-              diffreplace(6, 6, '', 'y\n\n'),
-              'x\n\n',
-              diffreplace(9, 9, '', 'y\n\n'),
-              'x\n\nz\n']),
+            (b"x\n\nx\n\nx\n\nx\n\nz\n", b"x\n\nx\n\ny\n\nx\n\nx\n\nz\n",
+             [b'x\n\nx\n\n',
+              diffreplace(6, 6, b'', b'y\n\n'),
+              b'x\n\nx\n\nz\n']),
+            (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",
+             [b'x\n\nx\n\n',
+              diffreplace(6, 6, b'', b'y\n\n'),
+              b'x\n\n',
+              diffreplace(9, 9, b'', b'y\n\n'),
+              b'x\n\nz\n']),
         ]
         for old, new, want in cases:
             self.assertEqual(self.showdiff(old, new), want)
 
     def test_issue1295_varies_on_pure(self):
             # we should pick up abbbc. rather than bc.de as the longest match
-        got = self.showdiff("a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n",
-                            "a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n")
-        want_c = ['a\nb\nb\n',
-                  diffreplace(6, 6, '', 'a\nb\nb\nb\nc\n.\n'),
-                  'b\nc\n.\nd\ne\n',
-                  diffreplace(16, 18, '.\n', ''),
-                  'f\n']
-        want_pure = [diffreplace(0, 0, '', 'a\nb\nb\n'),
-                     'a\nb\nb\nb\nc\n.\n',
-                     diffreplace(12, 12, '', 'b\nc\n.\n'),
-                     'd\ne\n',
-                     diffreplace(16, 18, '.\n', ''), 'f\n']
+        got = self.showdiff(b"a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n",
+                            b"a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n")
+        want_c = [b'a\nb\nb\n',
+                  diffreplace(6, 6, b'', b'a\nb\nb\nb\nc\n.\n'),
+                  b'b\nc\n.\nd\ne\n',
+                  diffreplace(16, 18, b'.\n', b''),
+                  b'f\n']
+        want_pure = [diffreplace(0, 0, b'', b'a\nb\nb\n'),
+                     b'a\nb\nb\nb\nc\n.\n',
+                     diffreplace(12, 12, b'', b'b\nc\n.\n'),
+                     b'd\ne\n',
+                     diffreplace(16, 18, b'.\n', b''), b'f\n']
         self.assert_(got in (want_c, want_pure),
                      'got: %r, wanted either %r or %r' % (
                          got, want_c, want_pure))
 
     def test_fixws(self):
         cases = [
-            (" \ta\r b\t\n", "ab\n", 1),
-            (" \ta\r b\t\n", " a b\n", 0),
-            ("", "", 1),
-            ("", "", 0),
+            (b" \ta\r b\t\n", b"ab\n", 1),
+            (b" \ta\r b\t\n", b" a b\n", 0),
+            (b"", b"", 1),
+            (b"", b"", 0),
         ]
         for a, b, allws in cases:
             c = mdiff.fixws(a, allws)
@@ -115,34 +117,34 @@
 
     def test_nice_diff_for_trivial_change(self):
         self.assertEqual(self.showdiff(
-            ''.join('<%s\n-\n' % i for i in range(5)),
-            ''.join('>%s\n-\n' % i for i in range(5))),
-                         [diffreplace(0, 3, '<0\n', '>0\n'),
-                          '-\n',
-                          diffreplace(5, 8, '<1\n', '>1\n'),
-                          '-\n',
-                          diffreplace(10, 13, '<2\n', '>2\n'),
-                          '-\n',
-                          diffreplace(15, 18, '<3\n', '>3\n'),
-                          '-\n',
-                          diffreplace(20, 23, '<4\n', '>4\n'),
-                          '-\n'])
+            b''.join(b'<%s\n-\n' % i for i in range(5)),
+            b''.join(b'>%s\n-\n' % i for i in range(5))),
+                         [diffreplace(0, 3, b'<0\n', b'>0\n'),
+                          b'-\n',
+                          diffreplace(5, 8, b'<1\n', b'>1\n'),
+                          b'-\n',
+                          diffreplace(10, 13, b'<2\n', b'>2\n'),
+                          b'-\n',
+                          diffreplace(15, 18, b'<3\n', b'>3\n'),
+                          b'-\n',
+                          diffreplace(20, 23, b'<4\n', b'>4\n'),
+                          b'-\n'])
 
     def test_prefer_appending(self):
         # 1 line to 3 lines
-        self.assertEqual(self.showdiff('a\n', 'a\n' * 3),
-                         ['a\n', diffreplace(2, 2, '', 'a\na\n')])
+        self.assertEqual(self.showdiff(b'a\n', b'a\n' * 3),
+                         [b'a\n', diffreplace(2, 2, b'', b'a\na\n')])
         # 1 line to 5 lines
-        self.assertEqual(self.showdiff('a\n', 'a\n' * 5),
-                         ['a\n', diffreplace(2, 2, '', 'a\na\na\na\n')])
+        self.assertEqual(self.showdiff(b'a\n', b'a\n' * 5),
+                         [b'a\n', diffreplace(2, 2, b'', b'a\na\na\na\n')])
 
     def test_prefer_removing_trailing(self):
         # 3 lines to 1 line
-        self.assertEqual(self.showdiff('a\n' * 3, 'a\n'),
-                         ['a\n', diffreplace(2, 6, 'a\na\n', '')])
+        self.assertEqual(self.showdiff(b'a\n' * 3, b'a\n'),
+                         [b'a\n', diffreplace(2, 6, b'a\na\n', b'')])
         # 5 lines to 1 line
-        self.assertEqual(self.showdiff('a\n' * 5, 'a\n'),
-                         ['a\n', diffreplace(2, 10, 'a\na\na\na\n', '')])
+        self.assertEqual(self.showdiff(b'a\n' * 5, b'a\n'),
+                         [b'a\n', diffreplace(2, 10, b'a\na\na\na\n', b'')])
 
 if __name__ == '__main__':
     import silenttestrunner