33
34
UnknownFormatError,
34
35
UnsupportedFormatError,
36
import bzrlib.repository as repository
37
from bzrlib.repository import RepositoryFormat
37
38
from bzrlib.tests import TestCase, TestCaseWithTransport
38
39
from bzrlib.transport import get_transport
39
from bzrlib.transport.http import HttpServer
40
40
from bzrlib.transport.memory import MemoryServer
41
from bzrlib import upgrade, workingtree
44
48
class TestDefaultFormat(TestCase):
46
50
def test_get_set_default_format(self):
47
private_default = repository._default_format.__class__
51
old_default = bzrdir.format_registry.get('default')
52
private_default = old_default().repository_format.__class__
48
53
old_format = repository.RepositoryFormat.get_default_format()
49
54
self.assertTrue(isinstance(old_format, private_default))
50
repository.RepositoryFormat.set_default_format(SampleRepositoryFormat())
55
def make_sample_bzrdir():
56
my_bzrdir = bzrdir.BzrDirMetaFormat1()
57
my_bzrdir.repository_format = SampleRepositoryFormat()
59
bzrdir.format_registry.remove('default')
60
bzrdir.format_registry.register('sample', make_sample_bzrdir, '')
61
bzrdir.format_registry.set_default('sample')
51
62
# creating a repository should now create an instrumented dir.
53
64
# the default branch format is used by the meta dir format
56
67
result = dir.create_repository()
57
68
self.assertEqual(result, 'A bzr repository dir')
59
repository.RepositoryFormat.set_default_format(old_format)
60
self.assertEqual(old_format, repository.RepositoryFormat.get_default_format())
70
bzrdir.format_registry.remove('default')
71
bzrdir.format_registry.register('default', old_default, '')
72
self.assertIsInstance(repository.RepositoryFormat.get_default_format(),
63
76
class SampleRepositoryFormat(repository.RepositoryFormat):