~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_branch.py

add more tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
    def test_get_set_default_format(self):
55
55
        # set the format and then set it back again
56
56
        old_format = _mod_branch.format_registry.get_default()
57
 
        _mod_branch.BranchFormat.set_default_format(SampleBranchFormat())
 
57
        _mod_branch.format_registry.set_default(SampleBranchFormat())
58
58
        try:
59
59
            # the default branch format is used by the meta dir format
60
60
            # which is not the default bzrdir format at this point
62
62
            result = dir.create_branch()
63
63
            self.assertEqual(result, 'A branch')
64
64
        finally:
65
 
            _mod_branch.BranchFormat.set_default_format(old_format)
 
65
            _mod_branch.format_registry.set_default(old_format)
66
66
        self.assertEqual(old_format,
67
67
                         _mod_branch.format_registry.get_default())
68
68
 
180
180
            self.failUnless(isinstance(found_format, format.__class__))
181
181
        check_format(_mod_branch.BzrBranchFormat5(), "bar")
182
182
 
183
 
    def test_extra_format(self):
184
 
        dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
185
 
        SampleSupportedBranchFormat().initialize(dir)
186
 
        format = SampleExtraBranchFormat()
187
 
        _mod_branch.BranchFormat.register_extra_format(format)
188
 
        self.addCleanup(_mod_branch.BranchFormat.unregister_extra_format,
189
 
            format)
190
 
        self.assertTrue(format in _mod_branch.BranchFormat.get_formats())
191
 
        self.assertEquals(format,
192
 
            _mod_branch.network_format_registry.get("extra"))
193
 
 
194
183
    def test_find_format_factory(self):
195
184
        dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
196
185
        SampleSupportedBranchFormat().initialize(dir)
197
186
        factory = _mod_branch.MetaDirBranchFormatFactory(
198
187
            SampleSupportedBranchFormatString,
199
188
            "bzrlib.tests.test_branch", "SampleSupportedBranchFormat")
200
 
        _mod_branch.BranchFormat.register_format(factory)
201
 
        self.addCleanup(_mod_branch.BranchFormat.unregister_format, factory)
 
189
        _mod_branch.format_registry.register(factory)
 
190
        self.addCleanup(_mod_branch.format_registry.remove, factory)
202
191
        b = _mod_branch.Branch.open(self.get_url())
203
192
        self.assertEqual(b, "opened supported branch.")
204
193
 
216
205
                          dir)
217
206
 
218
207
    def test_register_unregister_format(self):
 
208
        # Test the deprecated format registration functions
219
209
        format = SampleBranchFormat()
220
210
        # make a control dir
221
211
        dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
222
212
        # make a branch
223
213
        format.initialize(dir)
224
214
        # register a format for it.
225
 
        _mod_branch.BranchFormat.register_format(format)
 
215
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
 
216
            _mod_branch.BranchFormat.register_format, format)
226
217
        # which branch.Open will refuse (not supported)
227
218
        self.assertRaises(errors.UnsupportedFormatError,
228
219
                          _mod_branch.Branch.open, self.get_url())
232
223
            format.open(dir),
233
224
            bzrdir.BzrDir.open(self.get_url()).open_branch(unsupported=True))
234
225
        # unregister the format
235
 
        _mod_branch.BranchFormat.unregister_format(format)
 
226
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
 
227
            _mod_branch.BranchFormat.unregister_format, format)
236
228
        self.make_branch_and_tree('bar')
237
229
 
238
230
 
 
231
class TestBranchFormatRegistry(tests.TestCase):
 
232
 
 
233
    def setUp(self):
 
234
        super(TestBranchFormatRegistry, self).setUp()
 
235
        self.registry = _mod_branch.BranchFormatRegistry()
 
236
 
 
237
    def test_default(self):
 
238
        self.assertIs(None, self.registry.get_default())
 
239
        format = SampleBranchFormat()
 
240
        self.registry.set_default(format)
 
241
        self.assertEquals(format, self.registry.get_default())
 
242
 
 
243
    def test_register_unregister_format(self):
 
244
        format = SampleBranchFormat()
 
245
        self.registry.register(format)
 
246
        self.assertEquals(format,
 
247
            self.registry.get("Sample branch format."))
 
248
        self.registry.remove(format)
 
249
        self.assertRaises(KeyError, self.registry.get,
 
250
            "Sample branch format.")
 
251
 
 
252
    def test_get_all(self):
 
253
        format = SampleBranchFormat()
 
254
        self.assertEquals([], self.registry._get_all())
 
255
        self.registry.register(format)
 
256
        self.assertEquals([format], self.registry._get_all())
 
257
 
 
258
    def test_register_extra(self):
 
259
        format = SampleExtraBranchFormat()
 
260
        self.assertEquals([], self.registry._get_all())
 
261
        self.registry.register_extra(format)
 
262
        self.assertEquals([format], self.registry._get_all())
 
263
 
 
264
    def test_register_extra_lazy(self):
 
265
        self.assertEquals([], self.registry._get_all())
 
266
        self.registry.register_extra_lazy("bzrlib.tests.test_branch",
 
267
            "SampleExtraBranchFormat")
 
268
        formats = self.registry._get_all()
 
269
        self.assertEquals(1, len(formats))
 
270
        self.assertIsInstance(formats[0], SampleExtraBranchFormat)
 
271
 
 
272
 
239
273
#Used by TestMetaDirBranchFormatFactory 
240
274
FakeLazyFormat = None
241
275