예제 #1
0
    def test_init(self):
        mod = imports.LazyModule('spam', 'eggs')

        self.assertEquals(mod.__name__, 'spam')
        self.assertEquals(mod.__file__, 'eggs')
        self.assertRaises(AttributeError, getattr, mod, '__path__')

        mod = imports.LazyModule('foo', 'bar', [])

        self.assertEquals(mod.__name__, 'foo')
        self.assertEquals(mod.__file__, 'bar')
        self.assertEquals(mod.__path__, [])
예제 #2
0
    def test_getattr(self):
        mod = imports.LazyModule('spam', 'eggs')

        self.assertEquals(mod.__name__, 'spam')
        self.assertEquals(mod.__file__, 'eggs')

        self.assertFalse(self.moduleLoaded)

        self.assertEquals(mod.__dict__, {'__name__': 'spam', '__file__': 'eggs'})
        self.assertTrue(self.moduleLoaded)
        self.assertEquals(self.moduleName, mod)
예제 #3
0
    def test_setattr(self):
        mod = imports.LazyModule('spam', 'eggs')

        mod.__name__ = 'foo'
        mod.__file__ = 'bar'
        mod.__path__ = ['baz']

        self.assertFalse(self.moduleLoaded)

        mod.a = 'b'
        self.assertTrue(self.moduleLoaded)
        self.assertEquals(mod.__dict__, {'__name__': 'foo', '__file__': 'bar', '__path__': ['baz'], 'a': 'b'})
        self.assertEquals(self.moduleName, mod)
예제 #4
0
 def test_slots(self):
     self.assertEquals(
         imports.LazyModule('spam', 'eggs').__slots__, tuple())
예제 #5
0
    def test_loaded(self):
        imports.postLoadHooks['spam'] = None

        mod = imports.LazyModule('spam', 'eggs')

        self.assertFalse(imports._isLazy(mod))
예제 #6
0
    def test_lazy(self):
        imports.postLoadHooks['spam'] = []

        mod = imports.LazyModule('spam', 'eggs')

        self.assertTrue(imports._isLazy(mod))
예제 #7
0
    def test_type(self):
        import types

        mod = imports.LazyModule('spam', 'eggs')

        self.assertTrue(isinstance(mod, types.ModuleType))