67
67
self.assertEqual(self.capture('diff', retcode=1),
68
68
self.DIFF_HEADER + self.DIFF_1 + '\n')
70
# Check the shelved patch was backed up
71
shelf = open(os.path.join(tree.branch.base,
72
'.shelf/shelves/default/00~')).read()
73
shelf = shelf[shelf.index('\n') + 1:] # skip the message
74
self.assertEqual(shelf, self.DIFF_1)
70
76
# Make sure the file is back the way it should be
71
77
self.assertEqual(file('test_file').read(), self.MODIFIED)
218
224
# Working tree should be unchanged
219
225
diff = self.capture('diff', retcode=0)
220
226
self.assertEqual(diff, '')
228
def test_shelf_after_unshelve(self):
229
tree = self.make_branch_and_tree('.')
231
self.__create_and_add_test_file(tree)
232
self.__create_and_add_test_file(tree, filename='test_file2')
234
# Modify the test files
235
file('test_file', 'w').write(self.MODIFIED)
236
file('test_file2', 'w').write(self.MODIFIED)
239
self.run_bzr('shelve', '--all', 'test_file', retcode=0)
240
self.run_bzr('shelve', '--all', 'test_file2', retcode=0)
243
self.run_bzr('unshelve', '--all', retcode=0)
245
# We should now have 00 and 01~
246
self.assertTrue(os.path.exists('.shelf/shelves/default/00'))
247
self.assertTrue(os.path.exists('.shelf/shelves/default/01~'))
250
list = self.capture('shelf ls', retcode=0).split('\n')
252
self.assertFalse(line.startswith(' 01'))
254
# Unshelve, if unshelve is confused by the backup it will fail
255
self.run_bzr('unshelve', '--all', retcode=0)