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)
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)
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)