171
171
creator = self.prepare_content_change()
172
172
self.assertEqual([('modify text', b'foo-id')],
173
173
list(creator.iter_shelvable()))
174
creator.shelve_lines(b'foo-id', ['a\n', 'c\n'])
174
creator.shelve_lines(b'foo-id', [b'a\n', b'c\n'])
175
175
creator.transform()
176
self.assertFileEqual('a\nc\n', 'foo')
177
self.assertShelvedFileEqual('b\na\n', creator, b'foo-id')
176
self.assertFileEqual(b'a\nc\n', 'foo')
177
self.assertShelvedFileEqual(b'b\na\n', creator, b'foo-id')
179
179
def test_shelve_change_handles_modify_text(self):
180
180
creator = self.prepare_content_change()
181
181
creator.shelve_change(('modify text', b'foo-id'))
182
182
creator.transform()
183
self.assertFileEqual('a\n', 'foo')
184
self.assertShelvedFileEqual('b\na\nc\n', creator, b'foo-id')
183
self.assertFileEqual(b'a\n', 'foo')
184
self.assertShelvedFileEqual(b'b\na\nc\n', creator, b'foo-id')
186
186
def test_shelve_all(self):
187
187
creator = self.prepare_content_change()
188
188
creator.shelve_all()
189
189
creator.transform()
190
self.assertFileEqual('a\n', 'foo')
191
self.assertShelvedFileEqual('b\na\nc\n', creator, b'foo-id')
190
self.assertFileEqual(b'a\n', 'foo')
191
self.assertShelvedFileEqual(b'b\na\nc\n', creator, b'foo-id')
193
193
def prepare_shelve_creation(self):
194
194
tree = self.make_branch_and_tree('.')
199
199
tree.add(['foo', 'bar'], [b'foo-id', b'bar-id'])
200
200
creator = shelf.ShelfCreator(tree, tree.basis_tree())
201
201
self.addCleanup(creator.finalize)
202
self.assertEqual([('add file', b'bar-id', 'directory', 'bar'),
203
('add file', b'foo-id', 'file', 'foo')],
202
self.assertEqual([('add file', b'bar-id', 'directory', b'bar'),
203
('add file', b'foo-id', 'file', b'foo')],
204
204
sorted(list(creator.iter_shelvable())))
205
205
return creator, tree