~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_registry.py

  • Committer: Vincent Ladeuil
  • Date: 2011-07-06 09:22:00 UTC
  • mfrom: (6008 +trunk)
  • mto: (6012.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 6013.
  • Revision ID: v.ladeuil+lp@free.fr-20110706092200-7iai2mwzc0sqdsvf
MergingĀ inĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
215
215
        # We create a registry with "official" objects and "hidden"
216
216
        # objects. The later represent the side effects that led to bug #277048
217
217
        # and #430510
218
 
        self.registry =  registry.Registry()
 
218
        _registry = registry.Registry()
219
219
 
220
220
        def register_more():
221
 
            self.registry.register('hidden', None)
 
221
           _registry.register('hidden', None)
222
222
 
 
223
        # Avoid closing over self by binding local variable
 
224
        self.registry = _registry
223
225
        self.registry.register('passive', None)
224
226
        self.registry.register('active', register_more)
225
227
        self.registry.register('passive-too', None)
229
231
            def get_obj(inner_self):
230
232
                # Surprise ! Getting a registered object (think lazy loaded
231
233
                # module) register yet another object !
232
 
                self.registry.register('more hidden', None)
 
234
                _registry.register('more hidden', None)
233
235
                return inner_self._obj
234
236
 
235
237
        self.registry.register('hacky', None)
338
340
        finally:
339
341
            sys.path.remove(plugin_path)
340
342
 
 
343
    def test_lazy_import_get_module(self):
 
344
        a_registry = registry.Registry()
 
345
        a_registry.register_lazy('obj', "bzrlib.tests.test_registry",
 
346
            'object1')
 
347
        self.assertEquals("bzrlib.tests.test_registry",
 
348
            a_registry._get_module("obj"))
 
349
 
 
350
    def test_normal_get_module(self):
 
351
        class AThing(object):
 
352
            """Something"""
 
353
        a_registry = registry.Registry()
 
354
        a_registry.register("obj", AThing())
 
355
        self.assertEquals("bzrlib.tests.test_registry",
 
356
            a_registry._get_module("obj"))