| 
									
										
										
										
											2009-02-01 04:00:05 +00:00
										 |  |  | from .. import util | 
					
						
							| 
									
										
										
										
											2009-02-01 04:28:04 +00:00
										 |  |  | from . import util as import_util | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | import sys | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | import importlib | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ParentModuleTests(unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     """Importing a submodule should import the parent modules.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_import_parent(self): | 
					
						
							| 
									
										
										
										
											2009-02-01 04:00:05 +00:00
										 |  |  |         with util.mock_modules('pkg.__init__', 'pkg.module') as mock: | 
					
						
							|  |  |  |             with util.import_state(meta_path=[mock]): | 
					
						
							| 
									
										
										
										
											2009-02-01 04:28:04 +00:00
										 |  |  |                 module = import_util.import_('pkg.module') | 
					
						
							| 
									
										
										
										
											2009-06-30 23:06:06 +00:00
										 |  |  |                 self.assertTrue('pkg' in sys.modules) | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_bad_parent(self): | 
					
						
							| 
									
										
										
										
											2009-02-01 04:00:05 +00:00
										 |  |  |         with util.mock_modules('pkg.module') as mock: | 
					
						
							|  |  |  |             with util.import_state(meta_path=[mock]): | 
					
						
							| 
									
										
										
										
											2009-08-27 23:49:21 +00:00
										 |  |  |                 with self.assertRaises(ImportError): | 
					
						
							|  |  |  |                     import_util.import_('pkg.module') | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 20:22:21 +00:00
										 |  |  |     def test_module_not_package(self): | 
					
						
							|  |  |  |         # Try to import a submodule from a non-package should raise ImportError. | 
					
						
							|  |  |  |         assert not hasattr(sys, '__path__') | 
					
						
							|  |  |  |         with self.assertRaises(ImportError): | 
					
						
							|  |  |  |             import_util.import_('sys.no_submodules_here') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_main(): | 
					
						
							|  |  |  |     from test.support import run_unittest | 
					
						
							|  |  |  |     run_unittest(ParentModuleTests) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     test_main() |