~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_branch.py

Introduce BranchFormats - factoring out intialisation of Branches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
import os
18
18
import sys
19
19
 
20
 
from bzrlib.branch import Branch, needs_read_lock, needs_write_lock, BzrBranch
 
20
import bzrlib.branch as branch
 
21
from bzrlib.branch import Branch, needs_read_lock, needs_write_lock
21
22
from bzrlib.clone import copy_branch
22
23
from bzrlib.commit import commit
23
24
import bzrlib.errors as errors
404
405
    def test_get_set_default_initializer(self):
405
406
        old_initializer = Branch.get_default_initializer()
406
407
        # default is BzrBranch._initialize
407
 
        self.assertEqual(BzrBranch._initialize, old_initializer)
 
408
        self.assertEqual(branch.BzrBranch._initialize, old_initializer)
408
409
        def recorder(url):
409
410
            return "a branch %s" % url
410
411
        Branch.set_default_initializer(recorder)
414
415
        finally:
415
416
            Branch.set_default_initializer(old_initializer)
416
417
        self.assertEqual(old_initializer, Branch.get_default_initializer())
 
418
 
 
419
 
 
420
class TestBzrBranchFormat(TestCaseInTempDir):
 
421
    """Tests for the BzrBranchFormat facility."""
 
422
 
 
423
    def test_find_format(self):
 
424
        # is the right format object found for a branch?
 
425
        # create a branch with a known format object
 
426
        self.build_tree(["foo/", "bar/"])
 
427
        def check_format(format, url):
 
428
            format.initialize(url)
 
429
            found_format = branch.BzrBranchFormat.find_format(url)
 
430
            self.failUnless(isinstance(found_format, format.__class__))
 
431
        check_format(branch.BzrBranchFormat5(), "foo")
 
432
        check_format(branch.BzrBranchFormat6(), "bar")
 
433
 
 
434
    def test_initialize_returns_branch(self):
 
435
        self.failUnless(isinstance(branch.BzrBranchFormat5().initialize("."), branch.Branch))