~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to tests.py

  • Committer: Michael Ellerman
  • Date: 2006-03-12 01:05:46 UTC
  • mto: (325.1.2 bzrtools) (0.3.1 shelf-dev)
  • mto: This revision was merged to the branch mainline in revision 334.
  • Revision ID: michael@ellerman.id.au-20060312010546-466c32126f9475e1
Backup the patch when we unshelve. Suggested by Christian Reis.

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
            self.assertEqual(self.capture('diff', retcode=1),
68
68
                self.DIFF_HEADER + self.DIFF_1 + '\n')
69
69
 
 
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)
 
75
 
70
76
            # Make sure the file is back the way it should be
71
77
            self.assertEqual(file('test_file').read(), self.MODIFIED)
72
78
 
218
224
        # Working tree should be unchanged
219
225
        diff = self.capture('diff', retcode=0)
220
226
        self.assertEqual(diff, '')
 
227
 
 
228
    def test_shelf_after_unshelve(self):
 
229
        tree = self.make_branch_and_tree('.')
 
230
 
 
231
        self.__create_and_add_test_file(tree)
 
232
        self.__create_and_add_test_file(tree, filename='test_file2')
 
233
 
 
234
        # Modify the test files
 
235
        file('test_file', 'w').write(self.MODIFIED)
 
236
        file('test_file2', 'w').write(self.MODIFIED)
 
237
 
 
238
        # Shelve the changes
 
239
        self.run_bzr('shelve', '--all', 'test_file', retcode=0)
 
240
        self.run_bzr('shelve', '--all', 'test_file2', retcode=0)
 
241
 
 
242
        # Unshelve
 
243
        self.run_bzr('unshelve', '--all', retcode=0)
 
244
 
 
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~'))
 
248
 
 
249
        # Check ls works
 
250
        list = self.capture('shelf ls', retcode=0).split('\n')
 
251
        for line in list:
 
252
            self.assertFalse(line.startswith(' 01'))
 
253
 
 
254
        # Unshelve, if unshelve is confused by the backup it will fail
 
255
        self.run_bzr('unshelve', '--all', retcode=0)