cpython/Lib/importlib/test/extension/test_case_sensitivity.py
Brett Cannon 23cbd8a656 Add initial implementation of importlib. See the NOTES files for what is
planned for the package.

There are no docs yet, but they are coming once the API for the first new
function, importlib.import_module() is finalized.
2009-01-18 00:24:28 +00:00

39 lines
1.1 KiB
Python

import sys
from test import support as test_support
import unittest
import importlib
from . import test_path_hook
class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
def find_module(self):
good_name = test_path_hook.NAME
bad_name = good_name.upper()
assert good_name != bad_name
finder = importlib.ExtensionFileImporter(test_path_hook.PATH)
return finder.find_module(bad_name)
def test_case_sensitive(self):
with test_support.EnvironmentVarGuard() as env:
env.unset('PYTHONCASEOK')
loader = self.find_module()
self.assert_(loader is None)
def test_case_insensitivity(self):
with test_support.EnvironmentVarGuard() as env:
env.set('PYTHONCASEOK', '1')
loader = self.find_module()
self.assert_(hasattr(loader, 'load_module'))
def test_main():
if sys.platform not in ('win32', 'darwin', 'cygwin'):
return
test_support.run_unittest(ExtensionModuleCaseSensitivityTest)
if __name__ == '__main__':
test_main()