~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_registry.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-04-18 04:55:00 UTC
  • mfrom: (5784.2.1 754188-apport-test)
  • Revision ID: pqm@pqm.ubuntu.com-20110418045500-ce6lkgyiq7f47q43
(mbp) Rewrite test_report_bug_legacy away from using doctest (see bug
 764188) (Martin Pool)

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
21
21
 
22
22
from bzrlib import (
23
23
    branch,
24
 
    errors,
25
24
    osutils,
26
25
    registry,
27
26
    tests,
40
39
        a_registry = registry.Registry()
41
40
        self.register_stuff(a_registry)
42
41
 
43
 
        self.failUnless(a_registry.default_key is None)
 
42
        self.assertTrue(a_registry.default_key is None)
44
43
 
45
44
        # test get() (self.default_key is None)
46
45
        self.assertRaises(KeyError, a_registry.get)
50
49
 
51
50
        # test _set_default_key
52
51
        a_registry.default_key = 'five'
53
 
        self.failUnless(a_registry.default_key == 'five')
 
52
        self.assertTrue(a_registry.default_key == 'five')
54
53
        self.assertEqual(5, a_registry.get())
55
54
        self.assertEqual(5, a_registry.get(None))
56
55
        # If they ask for a specific entry, they should get KeyError
65
64
        a_registry = registry.Registry()
66
65
        self.register_stuff(a_registry)
67
66
 
68
 
        self.failUnless('one' in a_registry)
 
67
        self.assertTrue('one' in a_registry)
69
68
        a_registry.remove('one')
70
 
        self.failIf('one' in a_registry)
 
69
        self.assertFalse('one' in a_registry)
71
70
        self.assertRaises(KeyError, a_registry.get, 'one')
72
71
 
73
72
        a_registry.register('one', 'one')
305
304
        self.assertEqual(['function', 'klass', 'module', 'obj'],
306
305
                         sorted(a_registry.keys()))
307
306
        # The plugin should not be loaded until we grab the first object
308
 
        self.failIf(plugin_name in sys.modules)
 
307
        self.assertFalse(plugin_name in sys.modules)
309
308
 
310
309
        # By default the plugin won't be in the search path
311
310
        self.assertRaises(ImportError, a_registry.get, 'obj')
315
314
        try:
316
315
            obj = a_registry.get('obj')
317
316
            self.assertEqual('foo', obj)
318
 
            self.failUnless(plugin_name in sys.modules)
 
317
            self.assertTrue(plugin_name in sys.modules)
319
318
 
320
319
            # Now grab another object
321
320
            func = a_registry.get('function')
339
338
        finally:
340
339
            sys.path.remove(plugin_path)
341
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"))