~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_branch.py

  • Committer: Aaron Bentley
  • Date: 2012-07-13 21:01:48 UTC
  • mto: This revision was merged to the branch mainline in revision 6540.
  • Revision ID: aaron@aaronbentley.com-20120713210148-ixzt9u80w72bhi43
Stored uncommitted changes methods fall through to bound branch as needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
726
726
        self.assertEqual("No revisions or tags to pull.\n", f.getvalue())
727
727
 
728
728
 
 
729
class FakeShelfCreator(object):
 
730
 
 
731
    def write_shelf(self, shelf_file, message=None):
 
732
        shelf_file.write('hello')
 
733
 
 
734
 
729
735
class TestStoredUncommitted(tests.TestCaseWithTransport):
730
736
 
731
737
    def test_has_stored_uncommitted(self):
736
742
        branch._put_uncommitted(None)
737
743
        self.assertFalse(branch.has_stored_uncommitted())
738
744
 
 
745
    def test_has_stored_uncommitted_bound(self):
 
746
        branch = self.make_branch('b')
 
747
        master = self.make_branch('master')
 
748
        branch.bind(master)
 
749
        self.assertFalse(branch.has_stored_uncommitted())
 
750
        master._put_uncommitted(StringIO('hello'))
 
751
        self.assertTrue(branch.has_stored_uncommitted())
 
752
        master._put_uncommitted(None)
 
753
        self.assertFalse(branch.has_stored_uncommitted())
 
754
 
739
755
    def test_store_uncommitted(self):
740
 
 
741
 
        class FakeShelfCreator(object):
742
 
 
743
 
            def write_shelf(self, shelf_file, message=None):
744
 
                shelf_file.write('hello')
745
 
 
746
756
        branch = self.make_branch('b')
747
757
        creator = FakeShelfCreator()
748
758
        self.assertFalse(branch.has_stored_uncommitted())
749
759
        branch.store_uncommitted(creator)
750
760
        self.assertEqual('hello', branch._get_uncommitted().read())
751
761
 
 
762
    def test_store_uncommitted_bound(self):
 
763
        branch = self.make_branch('b')
 
764
        master = self.make_branch('master')
 
765
        branch.bind(master)
 
766
        creator = FakeShelfCreator()
 
767
        self.assertFalse(branch.has_stored_uncommitted())
 
768
        self.assertFalse(master.has_stored_uncommitted())
 
769
        branch.store_uncommitted(creator)
 
770
        self.assertEqual('hello', master._get_uncommitted().read())
 
771
 
752
772
    def test_store_uncommitted_already_stored(self):
753
773
        branch = self.make_branch('b')
754
774
        branch._put_uncommitted(StringIO('hello'))
762
782
        tree.add('file')
763
783
        tree.store_uncommitted()
764
784
        unshelver = tree.branch.get_unshelver(tree)
 
785
        self.assertIsNot(None, unshelver)
 
786
 
 
787
    def test_get_unshelver_bound(self):
 
788
        tree = self.make_branch_and_tree('tree')
 
789
        tree.commit('')
 
790
        self.build_tree_contents([('tree/file', 'contents1')])
 
791
        tree.add('file')
 
792
        tree.store_uncommitted()
 
793
        branch = self.make_branch('branch')
 
794
        branch.bind(tree.branch)
 
795
        unshelver = branch.get_unshelver(tree)
 
796
        self.assertIsNot(None, unshelver)