~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_registry.py

  • Committer: Jelmer Vernooij
  • Date: 2011-04-19 10:42:59 UTC
  • mto: This revision was merged to the branch mainline in revision 5806.
  • Revision ID: jelmer@samba.org-20110419104259-g9exlcp1f5jdu3ci
Move Inventory._get_mutable_inventory -> mutable_inventory_from_tree.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006 Canonical Ltd
 
1
# Copyright (C) 2006, 2008-2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
20
20
import sys
21
21
 
22
22
from bzrlib import (
23
 
    errors,
 
23
    branch,
24
24
    osutils,
25
25
    registry,
26
26
    tests,
39
39
        a_registry = registry.Registry()
40
40
        self.register_stuff(a_registry)
41
41
 
42
 
        self.failUnless(a_registry.default_key is None)
 
42
        self.assertTrue(a_registry.default_key is None)
43
43
 
44
44
        # test get() (self.default_key is None)
45
45
        self.assertRaises(KeyError, a_registry.get)
49
49
 
50
50
        # test _set_default_key
51
51
        a_registry.default_key = 'five'
52
 
        self.failUnless(a_registry.default_key == 'five')
 
52
        self.assertTrue(a_registry.default_key == 'five')
53
53
        self.assertEqual(5, a_registry.get())
54
54
        self.assertEqual(5, a_registry.get(None))
55
55
        # If they ask for a specific entry, they should get KeyError
64
64
        a_registry = registry.Registry()
65
65
        self.register_stuff(a_registry)
66
66
 
67
 
        self.failUnless('one' in a_registry)
 
67
        self.assertTrue('one' in a_registry)
68
68
        a_registry.remove('one')
69
 
        self.failIf('one' in a_registry)
 
69
        self.assertFalse('one' in a_registry)
70
70
        self.assertRaises(KeyError, a_registry.get, 'one')
71
71
 
72
72
        a_registry.register('one', 'one')
286
286
            '\n\n'
287
287
        )
288
288
 
 
289
    def test_lazy_import_registry_foo(self):
 
290
        a_registry = registry.Registry()
 
291
        a_registry.register_lazy('foo', 'bzrlib.branch', 'Branch')
 
292
        a_registry.register_lazy('bar', 'bzrlib.branch', 'Branch.hooks')
 
293
        self.assertEqual(branch.Branch, a_registry.get('foo'))
 
294
        self.assertEqual(branch.Branch.hooks, a_registry.get('bar'))
 
295
 
289
296
    def test_lazy_import_registry(self):
290
297
        plugin_name = self.create_simple_plugin()
291
298
        a_registry = registry.Registry()
297
304
        self.assertEqual(['function', 'klass', 'module', 'obj'],
298
305
                         sorted(a_registry.keys()))
299
306
        # The plugin should not be loaded until we grab the first object
300
 
        self.failIf(plugin_name in sys.modules)
 
307
        self.assertFalse(plugin_name in sys.modules)
301
308
 
302
309
        # By default the plugin won't be in the search path
303
310
        self.assertRaises(ImportError, a_registry.get, 'obj')
307
314
        try:
308
315
            obj = a_registry.get('obj')
309
316
            self.assertEqual('foo', obj)
310
 
            self.failUnless(plugin_name in sys.modules)
 
317
            self.assertTrue(plugin_name in sys.modules)
311
318
 
312
319
            # Now grab another object
313
320
            func = a_registry.get('function')
331
338
        finally:
332
339
            sys.path.remove(plugin_path)
333
340
 
 
341
    def test_lazy_import_get_module(self):
 
342
        a_registry = registry.Registry()
 
343
        a_registry.register_lazy('obj', "bzrlib.tests.test_registry",
 
344
            'object1')
 
345
        self.assertEquals("bzrlib.tests.test_registry",
 
346
            a_registry._get_module("obj"))
 
347
 
 
348
    def test_normal_get_module(self):
 
349
        class AThing(object):
 
350
            """Something"""
 
351
        a_registry = registry.Registry()
 
352
        a_registry.register("obj", AThing())
 
353
        self.assertEquals("bzrlib.tests.test_registry",
 
354
            a_registry._get_module("obj"))