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

  • Committer: Martin
  • Date: 2017-06-04 18:09:30 UTC
  • mto: This revision was merged to the branch mainline in revision 6653.
  • Revision ID: gzlist@googlemail.com-20170604180930-zpcenvzu13lilaax
Apply 2to3 xrange fix and fix up with sixish range

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
from cStringIO import StringIO
18
 
 
19
 
from bzrlib import (
 
17
from .. import (
20
18
    add,
 
19
    cache_utf8,
21
20
    inventory,
22
21
    osutils,
23
22
    tests,
24
23
    )
 
24
from ..sixish import (
 
25
    BytesIO,
 
26
    )
25
27
 
26
28
 
27
29
class AddCustomIDAction(add.AddAction):
29
31
    def __call__(self, inv, parent_ie, path, kind):
30
32
        # The first part just logs if appropriate
31
33
        # Now generate a custom id
32
 
        file_id = osutils.safe_file_id(kind + '-'
33
 
                                       + path.raw_path.replace('/', '%'),
34
 
                                       warn=False)
 
34
        file_id = cache_utf8.encode(kind + '-' + path.replace('/', '%'))
35
35
        if self.should_print:
36
36
            self._to_file.write('added %s with id %s\n'
37
 
                                % (path.raw_path, file_id))
 
37
                                % (path, file_id))
38
38
        return file_id
39
39
 
40
40
 
54
54
 
55
55
    def add_helper(self, base_tree, base_path, new_tree, file_list,
56
56
                   should_print=False):
57
 
        to_file = StringIO()
 
57
        to_file = BytesIO()
58
58
        base_tree.lock_read()
59
59
        try:
60
60
            new_tree.lock_write()
115
115
        self.assertNotEqual(None, c_id)
116
116
        self.base_tree.lock_read()
117
117
        self.addCleanup(self.base_tree.unlock)
118
 
        self.failIf(c_id in self.base_tree)
 
118
        self.assertFalse(self.base_tree.has_id(c_id))
119
119
 
120
120
        d_id = new_tree.path2id('subdir/d')
121
121
        self.assertNotEqual(None, d_id)
122
 
        self.failIf(d_id in self.base_tree)
 
122
        self.assertFalse(self.base_tree.has_id(d_id))
123
123
 
124
124
    def test_copy_existing_dir(self):
125
125
        self.make_base_tree()
140
140
        self.assertNotEqual(None, a_id)
141
141
        self.base_tree.lock_read()
142
142
        self.addCleanup(self.base_tree.unlock)
143
 
        self.failIf(a_id in self.base_tree)
 
143
        self.assertFalse(self.base_tree.has_id(a_id))
144
144
 
145
145
 
146
146
class TestAddActions(tests.TestCase):
152
152
        self.run_action("adding path\n")
153
153
 
154
154
    def run_action(self, output):
155
 
        from bzrlib.mutabletree import _FastPath
156
155
        inv = inventory.Inventory()
157
 
        stdout = StringIO()
 
156
        stdout = BytesIO()
158
157
        action = add.AddAction(to_file=stdout, should_print=bool(output))
159
158
 
160
159
        self.apply_redirected(None, stdout, None, action, inv, None,
161
 
            _FastPath('path'), 'file')
 
160
            'path', 'file')
162
161
        self.assertEqual(stdout.getvalue(), output)