Issue #14605: Expose importlib.abc.FileLoader and

importlib.machinery.(FileFinder, SourceFileLoader,
_SourcelessFileLoader, ExtensionFileLoader).

This exposes all of importlib's mechanisms that will become public on
the sys module.
This commit is contained in:
Brett Cannon 2012-04-22 19:58:33 -04:00
parent 8c5e920ae3
commit 938d44d59c
17 changed files with 3246 additions and 3076 deletions

View file

@ -1,6 +1,7 @@
from . import util as source_util
from importlib import _bootstrap
import imp
import unittest
@ -8,14 +9,18 @@ class PathHookTest(unittest.TestCase):
"""Test the path hook for source."""
def path_hook(self):
return _bootstrap.FileFinder.path_hook((_bootstrap.SourceFileLoader,
_bootstrap._suffix_list(imp.PY_SOURCE), True))
def test_success(self):
with source_util.create_modules('dummy') as mapping:
self.assertTrue(hasattr(_bootstrap._file_path_hook(mapping['.root']),
self.assertTrue(hasattr(self.path_hook()(mapping['.root']),
'find_module'))
def test_empty_string(self):
# The empty string represents the cwd.
self.assertTrue(hasattr(_bootstrap._file_path_hook(''), 'find_module'))
self.assertTrue(hasattr(self.path_hook()(''), 'find_module'))
def test_main():