14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19
from bzrlib import transform
19
20
from bzrlib.plugins.shelf2.serialize_transform import (serialize, deserialize)
20
from bzrlib.tests import TestCaseWithTransport
23
class TestSerializeTransform(TestCaseWithTransport):
21
from bzrlib import tests
24
class TestSerializeTransform(tests.TestCaseWithTransport):
26
def get_two_previews(self, tree):
27
tt = transform.TransformPreview(tree)
28
self.addCleanup(tt.finalize)
29
tt2 = transform.TransformPreview(tree)
30
self.addCleanup(tt2.finalize)
25
33
def test_roundtrip_creation(self):
26
34
tree = self.make_branch_and_tree('.')
27
tt = transform.TransformPreview(tree)
28
self.addCleanup(tt.finalize)
35
tt, tt2 = self.get_two_previews(tree)
29
36
tt.new_file(u'foo\u1234', tt.root, 'bar', 'baz', True)
30
37
tt.new_directory('qux', tt.root, 'quxx')
31
output = serialize(tt)
32
tt2 = transform.TransformPreview(tree)
33
self.addCleanup(tt2.finalize)
34
deserialize(tt2, output)
38
deserialize(tt2, serialize(tt))
35
39
self.assertEqual(3, tt2._id_number)
36
40
self.assertEqual({'new-1': u'foo\u1234',
37
41
'new-2': 'qux'}, tt2._new_name)
52
56
tree = self.make_branch_and_tree('.')
53
57
self.build_tree([u'foo\u1234', 'bar'])
54
58
tree.add([u'foo\u1234', 'bar'], ['foo-id', 'bar-id'])
55
tt = transform.TransformPreview(tree)
56
self.addCleanup(tt.finalize)
59
tt, tt2 = self.get_two_previews(tree)
57
60
foo_trans_id = tt.trans_id_tree_file_id('foo-id')
58
61
tt.unversion_file(foo_trans_id)
59
62
bar_trans_id = tt.trans_id_tree_file_id('bar-id')
60
63
tt.delete_contents(bar_trans_id)
61
tt2 = transform.TransformPreview(tree)
62
self.addCleanup(tt2.finalize)
63
64
deserialize(tt2, serialize(tt))
64
65
self.assertEqual({u'foo\u1234': foo_trans_id,
65
66
'bar': bar_trans_id,