Add tests for using sys.path_hooks by importlib.machinery.PathFinder.

This commit is contained in:
Brett Cannon 2009-02-05 23:36:02 +00:00
parent 5874ef16ed
commit 1f9bcd38a9
2 changed files with 11 additions and 3 deletions

View File

@ -601,7 +601,7 @@ class PathFinder:
@classmethod
def _implicit_hooks(cls):
"""Return a list of the implicit path hooks."""
return [self._default_hook, imp.NullImporter]
return [cls._default_hook, imp.NullImporter]
@classmethod
def _path_hooks(cls, path):

View File

@ -208,8 +208,16 @@ class FinderTests(unittest.TestCase):
def test_path_hooks(self):
# Test that sys.path_hooks is used.
# TODO(brett.cannon) implement
pass
# Test that sys.path_importer_cache is set.
module = '<test module>'
path = '<test path>'
importer = util.mock_modules(module)
hook = import_util.mock_path_hook(path, importer=importer)
with util.import_state(path_hooks=[hook]):
loader = machinery.PathFinder.find_module(module, [path])
self.assert_(loader is importer)
self.assert_(path in sys.path_importer_cache)
self.assert_(sys.path_importer_cache[path] is importer)
def test_implicit_hooks(self):
# Test that the implicit path hooks are used.