示例#1
0
    def test_module(self):
        self._clearModules('spam')
        imports.whenImported('spam', self._hook)

        self.assertTrue('spam' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['spam'], [self._hook])

        import spam
        imports._loadModule(spam)

        self.assertTrue(self.executed)
示例#2
0
    def test_module(self):
        self._clearModules('spam')
        imports.whenImported('spam', self._hook)

        self.assertTrue('spam' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['spam'], [self._hook])

        import spam
        imports._loadModule(spam)

        self.assertTrue(self.executed)
示例#3
0
    def test_multipleChildDeepParent(self):
        self._clearModules('foo', 'foo.bar', 'foo.bar.baz', 'foo.bar.gak')
        self._mods = []

        imports.whenImported('foo.bar.baz', lambda m: self._mods.append(m))
        imports.whenImported('foo.bar.gak', lambda m: self._mods.append(m))

        import foo.bar.baz
        import foo.bar.gak

        imports._loadModule(foo.bar.baz)
        imports._loadModule(foo.bar.gak)

        self.assertEquals(self._mods, [foo.bar.baz, foo.bar.gak])
    def test_submodule(self):
        self._clearModules("foo", "foo.bar", "foo.bar.baz")
        imports.whenImported("foo.bar.baz", self._hook)

        self.assertTrue("foo" in imports.postLoadHooks.keys())
        self.assertFalse("foo.bar" in imports.postLoadHooks.keys())
        self.assertFalse("foo.bar.baz" in imports.postLoadHooks.keys())

        self.assertEquals(len(imports.postLoadHooks["foo"]), 1)

        import foo

        imports._loadModule(foo)

        self.assertTrue("foo" in imports.postLoadHooks.keys())
        self.assertTrue("foo.bar" in imports.postLoadHooks.keys())
        self.assertFalse("foo.bar.baz" in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks["foo"], None)
        self.assertEquals(len(imports.postLoadHooks["foo.bar"]), 1)
        self.assertTrue(hasattr(foo, "bar"))
        self.assertEquals(self.executed, False)

        # ensure that the module was actually loaded
        self.assertEquals(foo.spam, "eggs")

        import foo.bar

        imports._loadModule(foo.bar)

        self.assertTrue("foo" in imports.postLoadHooks.keys())
        self.assertTrue("foo.bar" in imports.postLoadHooks.keys())
        self.assertTrue("foo.bar.baz" in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks["foo"], None)
        self.assertEquals(imports.postLoadHooks["foo.bar"], None)
        self.assertEquals(len(imports.postLoadHooks["foo.bar.baz"]), 1)
        self.assertTrue(hasattr(foo.bar, "baz"))
        self.assertEquals(self.executed, False)

        import foo.bar.baz

        imports._loadModule(foo.bar.baz)

        self.assertTrue("foo" in imports.postLoadHooks.keys())
        self.assertTrue("foo.bar" in imports.postLoadHooks.keys())
        self.assertTrue("foo.bar.baz" in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks["foo"], None)
        self.assertEquals(imports.postLoadHooks["foo.bar"], None)
        self.assertEquals(imports.postLoadHooks["foo.bar.baz"], None)
        self.assertEquals(self.executed, True)
示例#5
0
    def test_submodule(self):
        self._clearModules('foo', 'foo.bar', 'foo.bar.baz')
        imports.whenImported('foo.bar.baz', self._hook)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar.baz' in imports.postLoadHooks.keys())

        self.assertEquals(len(imports.postLoadHooks['foo']), 1)

        import foo
        imports._loadModule(foo)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(len(imports.postLoadHooks['foo.bar']), 1)
        self.assertTrue(hasattr(foo, 'bar'))
        self.assertEquals(self.executed, False)

        # ensure that the module was actually loaded
        self.assertEquals(foo.spam, 'eggs')

        import foo.bar
        imports._loadModule(foo.bar)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar'], None)
        self.assertEquals(len(imports.postLoadHooks['foo.bar.baz']), 1)
        self.assertTrue(hasattr(foo.bar, 'baz'))
        self.assertEquals(self.executed, False)

        import foo.bar.baz
        imports._loadModule(foo.bar.baz)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar.baz'], None)
        self.assertEquals(self.executed, True)
示例#6
0
    def test_submodule(self):
        self._clearModules('foo', 'foo.bar', 'foo.bar.baz')
        imports.whenImported('foo.bar.baz', self._hook)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar.baz' in imports.postLoadHooks.keys())

        self.assertEquals(len(imports.postLoadHooks['foo']), 1)

        import foo
        imports._loadModule(foo)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertFalse('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(len(imports.postLoadHooks['foo.bar']), 1)
        self.assertTrue(hasattr(foo, 'bar'))
        self.assertEquals(self.executed, False)

        # ensure that the module was actually loaded
        self.assertEquals(foo.spam, 'eggs')

        import foo.bar
        imports._loadModule(foo.bar)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar'], None)
        self.assertEquals(len(imports.postLoadHooks['foo.bar.baz']), 1)
        self.assertTrue(hasattr(foo.bar, 'baz'))
        self.assertEquals(self.executed, False)

        import foo.bar.baz
        imports._loadModule(foo.bar.baz)

        self.assertTrue('foo' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar' in imports.postLoadHooks.keys())
        self.assertTrue('foo.bar.baz' in imports.postLoadHooks.keys())
        self.assertEquals(imports.postLoadHooks['foo'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar'], None)
        self.assertEquals(imports.postLoadHooks['foo.bar.baz'], None)
        self.assertEquals(self.executed, True)