724
724
self.assertEqual("No revisions or tags to pull.\n", f.getvalue())
727
class FakeShelfCreator(object):
729
def write_shelf(self, shelf_file, message=None):
730
shelf_file.write('hello')
733
class TestStoredUncommitted(tests.TestCaseWithTransport):
735
def test_has_stored_uncommitted(self):
736
branch = self.make_branch('b')
737
self.assertFalse(branch.has_stored_uncommitted())
738
branch._put_uncommitted(StringIO('hello'))
739
self.assertTrue(branch.has_stored_uncommitted())
740
branch._put_uncommitted(None)
741
self.assertFalse(branch.has_stored_uncommitted())
743
def test_has_stored_uncommitted_bound(self):
744
branch = self.make_branch('b')
745
master = self.make_branch('master')
747
self.assertFalse(branch.has_stored_uncommitted())
748
master._put_uncommitted(StringIO('hello'))
749
self.assertTrue(branch.has_stored_uncommitted())
750
master._put_uncommitted(None)
751
self.assertFalse(branch.has_stored_uncommitted())
753
def test_store_uncommitted(self):
754
branch = self.make_branch('b')
755
creator = FakeShelfCreator()
756
self.assertFalse(branch.has_stored_uncommitted())
757
branch.store_uncommitted(creator)
758
self.assertEqual('hello', branch._get_uncommitted().read())
760
def test_store_uncommitted_bound(self):
761
branch = self.make_branch('b')
762
master = self.make_branch('master')
764
creator = FakeShelfCreator()
765
self.assertFalse(branch.has_stored_uncommitted())
766
self.assertFalse(master.has_stored_uncommitted())
767
branch.store_uncommitted(creator)
768
self.assertEqual('hello', master._get_uncommitted().read())
770
def test_store_uncommitted_already_stored(self):
771
branch = self.make_branch('b')
772
branch._put_uncommitted(StringIO('hello'))
773
self.assertRaises(errors.ChangesAlreadyStored,
774
branch.store_uncommitted, FakeShelfCreator())
776
def test_store_uncommitted_none(self):
777
branch = self.make_branch('b')
778
branch._put_uncommitted(StringIO('hello'))
779
branch.store_uncommitted(None)
780
self.assertFalse(branch.has_stored_uncommitted())
782
def test_get_unshelver(self):
783
tree = self.make_branch_and_tree('tree')
785
self.build_tree_contents([('tree/file', 'contents1')])
787
tree.store_uncommitted()
788
unshelver = tree.branch.get_unshelver(tree)
789
self.assertIsNot(None, unshelver)
791
def test_get_unshelver_bound(self):
792
tree = self.make_branch_and_tree('tree')
794
self.build_tree_contents([('tree/file', 'contents1')])
796
tree.store_uncommitted()
797
branch = self.make_branch('branch')
798
branch.bind(tree.branch)
799
unshelver = branch.get_unshelver(tree)
800
self.assertIsNot(None, unshelver)