/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_rename_map.py

  • Committer: Jelmer Vernooij
  • Date: 2018-05-06 11:48:54 UTC
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@jelmer.uk-20180506114854-h4qd9ojaqy8wxjsd
Move .mailmap to root.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
    a_lines = b'a\nb\nc\n'.splitlines(True)
33
33
    b_lines = b'b\nc\nd\n'.splitlines(True)
34
34
 
 
35
 
35
36
    def test_add_edge_hashes(self):
36
37
        rn = RenameMap(None)
37
38
        rn.add_edge_hashes(self.a_lines, 'a')
44
45
        self.build_tree_contents([('tree/a', b''.join(self.a_lines))])
45
46
        tree.add('a', b'a')
46
47
        rn = RenameMap(tree)
47
 
        rn.add_file_edge_hashes(tree, [b'a'])
48
 
        self.assertEqual({b'a'}, rn.edge_hashes[myhash(('a\n', 'b\n'))])
49
 
        self.assertEqual({b'a'}, rn.edge_hashes[myhash(('b\n', 'c\n'))])
 
48
        rn.add_file_edge_hashes(tree, ['a'])
 
49
        self.assertEqual({'a'}, rn.edge_hashes[myhash(('a\n', 'b\n'))])
 
50
        self.assertEqual({'a'}, rn.edge_hashes[myhash(('b\n', 'c\n'))])
50
51
        self.assertIs(None, rn.edge_hashes.get(myhash(('c\n', 'd\n'))))
51
52
 
52
53
    def test_hitcounts(self):
62
63
        rn = RenameMap(tree)
63
64
        rn.add_edge_hashes(self.a_lines, 'aid')
64
65
        rn.add_edge_hashes(self.b_lines, 'bid')
65
 
        self.build_tree_contents([('tree/a', b''.join(self.a_lines))])
66
 
        self.build_tree_contents([('tree/b', b''.join(self.b_lines))])
 
66
        self.build_tree_contents([('tree/a', ''.join(self.a_lines))])
 
67
        self.build_tree_contents([('tree/b', ''.join(self.b_lines))])
67
68
        self.assertEqual({'a': 'aid', 'b': 'bid'},
68
69
                         rn.file_match(['a', 'b']))
69
70
 
174
175
    @staticmethod
175
176
    def captureNotes(cmd, *args, **kwargs):
176
177
        notes = []
177
 
 
178
178
        def my_note(fmt, *args):
179
179
            notes.append(fmt % args)
180
180
        old_note = trace.note
195
195
        tree.commit('Added file')
196
196
        os.rename('tree/file', 'tree/file2')
197
197
        notes = self.captureNotes(
198
 
            RenameMap.guess_renames, tree.basis_tree(), tree,
199
 
            dry_run=True)[0]
 
198
                RenameMap.guess_renames, tree.basis_tree(), tree,
 
199
                dry_run=True)[0]
200
200
        self.assertEqual('file => file2', ''.join(notes))
201
201
        notes = self.captureNotes(RenameMap.guess_renames, tree.basis_tree(),
202
 
                                  tree, dry_run=False)[0]
 
202
                tree, dry_run=False)[0]
203
203
        self.assertEqual('file => file2', ''.join(notes))
204
204
 
205
205
    def test_guess_rename_handles_new_directories(self):
206
206
        """When a file was moved into a new directory."""
207
207
        tree = self.make_branch_and_tree('.')
208
208
        tree.lock_write()
209
 
        # self.addCleanup(tree.unlock)
 
209
        #self.addCleanup(tree.unlock)
210
210
        self.build_tree(['file'])
211
211
        tree.add('file', b'file-id')
212
212
        tree.commit('Added file')
213
213
        os.mkdir('folder')
214
214
        os.rename('file', 'folder/file2')
215
215
        notes = self.captureNotes(
216
 
            RenameMap.guess_renames, tree.basis_tree(), tree)[0]
 
216
                RenameMap.guess_renames, tree.basis_tree(), tree)[0]
217
217
        self.assertEqual('file => folder/file2', ''.join(notes))
218
218
 
219
219
        tree.unlock()