]> granicus.if.org Git - python/commitdiff
Add a test for importlib.import_module.
authorBrett Cannon <bcannon@gmail.com>
Wed, 4 Mar 2009 01:02:54 +0000 (01:02 +0000)
committerBrett Cannon <bcannon@gmail.com>
Wed, 4 Mar 2009 01:02:54 +0000 (01:02 +0000)
Lib/importlib/test/test_api.py

index 8847dc98491d447c4ea3be750b0f22664340ff03..65f8d04797c925d4418d98f98a0979363fde25d6 100644 (file)
@@ -26,7 +26,7 @@ class ImportModuleTests(unittest.TestCase):
                 module = importlib.import_module(name)
                 self.assertEqual(module.__name__, name)
 
-    def test_relative_package_import(self):
+    def test_shallow_relative_package_import(self):
         # Test importing a module from a package through a relatve import.
         pkg_name = 'pkg'
         pkg_long_name = '{0}.__init__'.format(pkg_name)
@@ -39,6 +39,15 @@ class ImportModuleTests(unittest.TestCase):
                 module = importlib.import_module(relative_name, pkg_name)
                 self.assertEqual(module.__name__, absolute_name)
 
+    def test_deep_relative_package_import(self):
+        modules = ['a.__init__', 'a.b.__init__', 'a.c']
+        with util.mock_modules(*modules) as mock:
+            with util.import_state(meta_path=[mock]):
+                importlib.import_module('a')
+                importlib.import_module('a.b')
+                module = importlib.import_module('..c', 'a.b')
+                self.assertEqual(module.__name__, 'a.c')
+
     def test_absolute_import_with_package(self):
         # Test importing a module from a package with an absolute name with
         # the 'package' argument given.