/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_diff.py

  • Committer: Jelmer Vernooij
  • Date: 2018-07-02 20:37:44 UTC
  • mfrom: (7025 work)
  • mto: This revision was merged to the branch mainline in revision 7027.
  • Revision ID: jelmer@jelmer.uk-20180702203744-3i0bimk0r5pfzjzl
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
220
220
 
221
221
    def test_internal_diff_iso_8859_1(self):
222
222
        output = BytesIO()
223
 
        diff.internal_diff(u'old_\xb5', ['old_text\n'],
224
 
                           u'new_\xe5', ['new_text\n'], output,
 
223
        diff.internal_diff(u'old_\xb5', [b'old_text\n'],
 
224
                           u'new_\xe5', [b'new_text\n'], output,
225
225
                           path_encoding='iso-8859-1')
226
226
        lines = output.getvalue().splitlines(True)
227
227
        self.check_patch(lines)
228
 
        self.assertEqual(['--- old_\xb5\n',
229
 
                           '+++ new_\xe5\n',
230
 
                           '@@ -1,1 +1,1 @@\n',
231
 
                           '-old_text\n',
232
 
                           '+new_text\n',
233
 
                           '\n',
 
228
        self.assertEqual([b'--- old_\xb5\n',
 
229
                          b'+++ new_\xe5\n',
 
230
                          b'@@ -1,1 +1,1 @@\n',
 
231
                          b'-old_text\n',
 
232
                          b'+new_text\n',
 
233
                          b'\n',
234
234
                          ]
235
235
                          , lines)
236
236
 
237
237
    def test_internal_diff_no_content(self):
238
238
        output = BytesIO()
239
239
        diff.internal_diff(u'old', [], u'new', [], output)
240
 
        self.assertEqual('', output.getvalue())
 
240
        self.assertEqual(b'', output.getvalue())
241
241
 
242
242
    def test_internal_diff_no_changes(self):
243
243
        output = BytesIO()
244
 
        diff.internal_diff(u'old', ['text\n', 'contents\n'],
245
 
                           u'new', ['text\n', 'contents\n'],
 
244
        diff.internal_diff(u'old', [b'text\n', b'contents\n'],
 
245
                           u'new', [b'text\n', b'contents\n'],
246
246
                           output)
247
 
        self.assertEqual('', output.getvalue())
 
247
        self.assertEqual(b'', output.getvalue())
248
248
 
249
249
    def test_internal_diff_returns_bytes(self):
250
250
        output = StubO()
251
 
        diff.internal_diff(u'old_\xb5', ['old_text\n'],
252
 
                            u'new_\xe5', ['new_text\n'], output)
 
251
        diff.internal_diff(u'old_\xb5', [b'old_text\n'],
 
252
                            u'new_\xe5', [b'new_text\n'], output)
253
253
        output.check_types(self, bytes)
254
254
 
255
255
    def test_internal_diff_default_context(self):
314
314
 
315
315
 
316
316
 
317
 
 
318
 
 
319
317
class TestDiffFiles(tests.TestCaseInTempDir):
320
318
 
321
319
    def test_external_diff_binary(self):
564
562
        tree = self.make_branch_and_tree('tree')
565
563
 
566
564
        tt = transform.TreeTransform(tree)
567
 
        tt.new_file('a', tt.root, ['contents\n'], b'a-id', True)
568
 
        tt.new_file('b', tt.root, ['contents\n'], b'b-id', False)
569
 
        tt.new_file('c', tt.root, ['contents\n'], b'c-id', True)
570
 
        tt.new_file('d', tt.root, ['contents\n'], b'd-id', False)
571
 
        tt.new_file('e', tt.root, ['contents\n'], b'control-e-id', True)
572
 
        tt.new_file('f', tt.root, ['contents\n'], b'control-f-id', False)
 
565
        tt.new_file('a', tt.root, [b'contents\n'], b'a-id', True)
 
566
        tt.new_file('b', tt.root, [b'contents\n'], b'b-id', False)
 
567
        tt.new_file('c', tt.root, [b'contents\n'], b'c-id', True)
 
568
        tt.new_file('d', tt.root, [b'contents\n'], b'd-id', False)
 
569
        tt.new_file('e', tt.root, [b'contents\n'], b'control-e-id', True)
 
570
        tt.new_file('f', tt.root, [b'contents\n'], b'control-f-id', False)
573
571
        tt.apply()
574
572
        tree.commit('one', rev_id=b'rev-1')
575
573
 
576
574
        tt = transform.TreeTransform(tree)
577
 
        tt.set_executability(False, tt.trans_id_file_id('a-id'))
578
 
        tt.set_executability(True, tt.trans_id_file_id('b-id'))
579
 
        tt.set_executability(False, tt.trans_id_file_id('c-id'))
580
 
        tt.set_executability(True, tt.trans_id_file_id('d-id'))
 
575
        tt.set_executability(False, tt.trans_id_file_id(b'a-id'))
 
576
        tt.set_executability(True, tt.trans_id_file_id(b'b-id'))
 
577
        tt.set_executability(False, tt.trans_id_file_id(b'c-id'))
 
578
        tt.set_executability(True, tt.trans_id_file_id(b'd-id'))
581
579
        tt.apply()
582
580
        tree.rename_one('c', 'new-c')
583
581
        tree.rename_one('d', 'new-d')
788
786
                                  ('new-tree/newdir/newfile', b'new\n')])
789
787
        self.new_tree.add('newdir')
790
788
        self.new_tree.add('newdir/newfile', b'file-id')
791
 
        self.differ.diff('file-id', 'olddir/oldfile', 'newdir/newfile')
 
789
        self.differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
792
790
        self.assertContainsRe(
793
791
            self.differ.to_file.getvalue(),
794
792
            r'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
804
802
        os.symlink('new', 'new-tree/newdir/newfile')
805
803
        self.new_tree.add('newdir')
806
804
        self.new_tree.add('newdir/newfile', b'file-id')
807
 
        self.differ.diff('file-id', 'olddir/oldfile', 'newdir/newfile')
 
805
        self.differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
808
806
        self.assertContainsRe(
809
807
            self.differ.to_file.getvalue(),
810
808
            r'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+0,0'
837
835
            differ = diff.DiffTree(self.old_tree, self.new_tree, BytesIO())
838
836
        finally:
839
837
            diff.DiffTree.diff_factories = old_diff_factories
840
 
        differ.diff('file-id', 'olddir/oldfile', 'newdir/newfile')
 
838
        differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
841
839
        self.assertNotContainsRe(
842
840
            differ.to_file.getvalue(),
843
841
            r'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
849
847
        self.create_old_new()
850
848
        differ = diff.DiffTree(self.old_tree, self.new_tree, BytesIO(),
851
849
                               extra_factories=[DiffWasIs.from_diff_tree])
852
 
        differ.diff('file-id', 'olddir/oldfile', 'newdir/newfile')
 
850
        differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
853
851
        self.assertNotContainsRe(
854
852
            differ.to_file.getvalue(),
855
853
            r'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
1426
1424
    def test_execute(self):
1427
1425
        output = BytesIO()
1428
1426
        diff_obj = diff.DiffFromTool(['python', '-c',
1429
 
                                      'print "@old_path @new_path"'],
 
1427
                                      'print("@old_path @new_path")'],
1430
1428
                                     None, None, output)
1431
1429
        self.addCleanup(diff_obj.finish)
1432
1430
        diff_obj._execute('old', 'new')
1576
1574
        tree.add('file', b'file-id')
1577
1575
        tree.commit('old tree', timestamp=0, rev_id=b"old-id")
1578
1576
        self.build_tree_contents([('tree/file', b'newcontent')])
1579
 
        tree.commit('new tree', timestamp=0, rev_id="new-id")
 
1577
        tree.commit('new tree', timestamp=0, rev_id=b"new-id")
1580
1578
 
1581
1579
        revisions = [revisionspec.RevisionSpec.from_string('1'),
1582
1580
                     revisionspec.RevisionSpec.from_string('2')]
1586
1584
            ['tree'], revisions, None, None)
1587
1585
 
1588
1586
        self.assertIsInstance(old_tree, revisiontree.RevisionTree)
1589
 
        self.assertEqual("old-id", old_tree.get_revision_id())
 
1587
        self.assertEqual(b"old-id", old_tree.get_revision_id())
1590
1588
        self.assertIsInstance(new_tree, revisiontree.RevisionTree)
1591
 
        self.assertEqual("new-id", new_tree.get_revision_id())
 
1589
        self.assertEqual(b"new-id", new_tree.get_revision_id())
1592
1590
        self.assertEqual(tree.branch.base, old_branch.base)
1593
1591
        self.assertEqual(tree.branch.base, new_branch.base)
1594
1592
        self.assertIs(None, specific_files)