~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_workingtree.py

  • Committer: Launchpad Translations on behalf of bzr-core
  • Date: 2012-11-25 04:30:35 UTC
  • mto: (6581.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 6582.
  • Revision ID: launchpad_translations_on_behalf_of_bzr-core-20121125043035-9abma98g1j6p5uox
Launchpad automatic translations update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
    bzrdir,
20
20
    conflicts,
21
21
    errors,
22
 
    symbol_versioning,
23
22
    transport,
24
23
    workingtree,
25
24
    workingtree_3,
26
25
    workingtree_4,
27
26
    )
 
27
from bzrlib.lock import write_locked
28
28
from bzrlib.lockdir import LockDir
29
29
from bzrlib.mutabletree import needs_tree_write_lock
30
30
from bzrlib.tests import TestCase, TestCaseWithTransport, TestSkipped
218
218
                          workingtree.WorkingTreeFormatMetaDir.find_format,
219
219
                          dir)
220
220
 
221
 
    def test_register_unregister_format(self):
222
 
        format = SampleTreeFormat()
223
 
        # make a control dir
224
 
        dir = bzrdir.BzrDirMetaFormat1().initialize('.')
225
 
        dir.create_repository()
226
 
        dir.create_branch()
227
 
        # make a branch
228
 
        format.initialize(dir)
229
 
        # register a format for it.
230
 
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
231
 
            workingtree.WorkingTreeFormat.register_format, format)
232
 
        self.assertTrue(format in 
233
 
            self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
234
 
                workingtree.WorkingTreeFormat.get_formats))
235
 
        # which branch.Open will refuse (not supported)
236
 
        self.assertRaises(errors.UnsupportedFormatError, workingtree.WorkingTree.open, '.')
237
 
        # but open_downlevel will work
238
 
        self.assertEqual(format.open(dir), workingtree.WorkingTree.open_downlevel('.'))
239
 
        # unregister the format
240
 
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
241
 
            workingtree.WorkingTreeFormat.unregister_format, format)
242
 
        self.assertFalse(format in
243
 
            self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
244
 
                workingtree.WorkingTreeFormat.get_formats))
245
 
 
246
221
    def test_find_format_with_features(self):
247
222
        tree = self.make_branch_and_tree('.', format='2a')
248
223
        tree.update_feature_flags({"name": "necessity"})
520
495
        self.make_branch('qux')
521
496
        trees = workingtree.WorkingTree.find_trees('.')
522
497
        self.assertEqual(2, len(list(trees)))
 
498
 
 
499
 
 
500
class TestStoredUncommitted(TestCaseWithTransport):
 
501
 
 
502
    def store_uncommitted(self):
 
503
        tree = self.make_branch_and_tree('tree')
 
504
        tree.commit('get root in there')
 
505
        self.build_tree_contents([('tree/file', 'content')])
 
506
        tree.add('file', 'file-id')
 
507
        tree.store_uncommitted()
 
508
        return tree
 
509
 
 
510
    def test_store_uncommitted(self):
 
511
        self.store_uncommitted()
 
512
        self.assertPathDoesNotExist('tree/file')
 
513
 
 
514
    def test_store_uncommitted_no_change(self):
 
515
        tree = self.make_branch_and_tree('tree')
 
516
        tree.commit('get root in there')
 
517
        tree.store_uncommitted()
 
518
        self.assertIs(None, tree.branch.get_unshelver(tree))
 
519
 
 
520
    def test_restore_uncommitted(self):
 
521
        with write_locked(self.store_uncommitted()) as tree:
 
522
            tree.restore_uncommitted()
 
523
            self.assertPathExists('tree/file')
 
524
            self.assertIs(None, tree.branch.get_unshelver(tree))
 
525
 
 
526
    def test_restore_uncommitted_none(self):
 
527
        tree = self.make_branch_and_tree('tree')
 
528
        tree.restore_uncommitted()