/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: 2019-02-03 23:43:20 UTC
  • mfrom: (7267 work)
  • mto: This revision was merged to the branch mainline in revision 7268.
  • Revision ID: jelmer@jelmer.uk-20190203234320-zbquyl9973hbujnb
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
699
699
 
700
700
class DiffWasIs(diff.DiffPath):
701
701
 
702
 
    def diff(self, file_id, old_path, new_path, old_kind, new_kind):
 
702
    def diff(self, old_path, new_path, old_kind, new_kind):
703
703
        self.to_file.write(b'was: ')
704
704
        self.to_file.write(self.old_tree.get_file(old_path).read())
705
705
        self.to_file.write(b'is: ')
728
728
        self.new_tree.add('newdir')
729
729
        self.new_tree.add('newdir/newfile', b'file-id')
730
730
        differ = diff.DiffText(self.old_tree, self.new_tree, BytesIO())
731
 
        differ.diff_text('olddir/oldfile', None, 'old label',
732
 
                         'new label', b'file-id', None)
 
731
        differ.diff_text('olddir/oldfile', None, 'old label', 'new label')
733
732
        self.assertEqual(
734
733
            b'--- old label\n+++ new label\n@@ -1,1 +0,0 @@\n-old\n\n',
735
734
            differ.to_file.getvalue())
736
735
        differ.to_file.seek(0)
737
736
        differ.diff_text(None, 'newdir/newfile',
738
 
                         'old label', 'new label', None, b'file-id')
 
737
                         'old label', 'new label')
739
738
        self.assertEqual(
740
739
            b'--- old label\n+++ new label\n@@ -0,0 +1,1 @@\n+new\n\n',
741
740
            differ.to_file.getvalue())
742
741
        differ.to_file.seek(0)
743
742
        differ.diff_text('olddir/oldfile', 'newdir/newfile',
744
 
                         'old label', 'new label', b'file-id', b'file-id')
 
743
                         'old label', 'new label')
745
744
        self.assertEqual(
746
745
            b'--- old label\n+++ new label\n@@ -1,1 +1,1 @@\n-old\n+new\n\n',
747
746
            differ.to_file.getvalue())
789
788
                                  ('new-tree/newdir/newfile', b'new\n')])
790
789
        self.new_tree.add('newdir')
791
790
        self.new_tree.add('newdir/newfile', b'file-id')
792
 
        self.differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
 
791
        self.differ.diff('olddir/oldfile', 'newdir/newfile')
793
792
        self.assertContainsRe(
794
793
            self.differ.to_file.getvalue(),
795
794
            br'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
805
804
        os.symlink('new', 'new-tree/newdir/newfile')
806
805
        self.new_tree.add('newdir')
807
806
        self.new_tree.add('newdir/newfile', b'file-id')
808
 
        self.differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
 
807
        self.differ.diff('olddir/oldfile', 'newdir/newfile')
809
808
        self.assertContainsRe(
810
809
            self.differ.to_file.getvalue(),
811
810
            br'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+0,0'
816
815
    def test_diff_directory(self):
817
816
        self.build_tree(['new-tree/new-dir/'])
818
817
        self.new_tree.add('new-dir', b'new-dir-id')
819
 
        self.differ.diff(b'new-dir-id', None, 'new-dir')
 
818
        self.differ.diff(None, 'new-dir')
820
819
        self.assertEqual(self.differ.to_file.getvalue(), b'')
821
820
 
822
821
    def create_old_new(self):
838
837
            differ = diff.DiffTree(self.old_tree, self.new_tree, BytesIO())
839
838
        finally:
840
839
            diff.DiffTree.diff_factories = old_diff_factories
841
 
        differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
 
840
        differ.diff('olddir/oldfile', 'newdir/newfile')
842
841
        self.assertNotContainsRe(
843
842
            differ.to_file.getvalue(),
844
843
            br'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
850
849
        self.create_old_new()
851
850
        differ = diff.DiffTree(self.old_tree, self.new_tree, BytesIO(),
852
851
                               extra_factories=[DiffWasIs.from_diff_tree])
853
 
        differ.diff(b'file-id', 'olddir/oldfile', 'newdir/newfile')
 
852
        differ.diff('olddir/oldfile', 'newdir/newfile')
854
853
        self.assertNotContainsRe(
855
854
            differ.to_file.getvalue(),
856
855
            br'--- olddir/oldfile.*\n\+\+\+ newdir/newfile.*\n\@\@ -1,1 \+1,1'
1492
1491
        self.addCleanup(diff_obj.finish)
1493
1492
        self.assertContainsRe(diff_obj._root, 'brz-diff-[^/]*')
1494
1493
        old_path, new_path = diff_obj._prepare_files(
1495
 
            'oldname', 'newname', file_id=b'file-id')
 
1494
            'oldname', 'newname')
1496
1495
        self.assertContainsRe(old_path, 'old/oldname$')
1497
1496
        self.assertEqual(315532800, os.stat(old_path).st_mtime)
1498
1497
        self.assertContainsRe(new_path, 'tree/newname$')
1501
1500
        if osutils.host_os_dereferences_symlinks():
1502
1501
            self.assertTrue(os.path.samefile('tree/newname', new_path))
1503
1502
        # make sure we can create files with the same parent directories
1504
 
        diff_obj._prepare_files('oldname2', 'newname2', file_id=b'file2-id')
 
1503
        diff_obj._prepare_files('oldname2', 'newname2')
1505
1504
 
1506
1505
 
1507
1506
class TestDiffFromToolEncodedFilename(tests.TestCaseWithTransport):