def testResolveRelativeFromInitFileWithModule(self): parent = resolve.Direct("baz/__init__.py", "baz") imp = parsepy.ImportStatement(".f") r = resolve.Resolver(self.path, parent) f = r.resolve_import(imp) self.assertTrue(isinstance(f, resolve.Local)) self.assertEqual(f.path, "baz/f.py") self.assertEqual(f.module_name, "baz.f")
def testResolveRelativeSymbol(self): # importing the Symbol object from baz/__init__.py while in baz/f.py parent = resolve.Direct("baz/f.py", "baz.f") imp = parsepy.ImportStatement(".Symbol", is_from=True) r = resolve.Resolver(self.path, parent) f = r.resolve_import(imp) self.assertTrue(isinstance(f, resolve.Local)) self.assertEqual(f.path, "baz/__init__.py") self.assertEqual(f.module_name, "baz")
def testResolveSystemRelative(self): with utils.Tempdir() as d: os_fs = fs.OSFileSystem(d.path) fspath = [os_fs] d.create_file("foo/x.py") d.create_file("foo/y.py") imp = parsepy.ImportStatement(".y") module = resolve.System(d["foo/x.py"], "foo.x") r = resolve.Resolver(fspath, module) f = r.resolve_import(imp) self.assertEqual(f.path, d["foo/y.py"]) self.assertTrue(isinstance(f, resolve.System)) self.assertEqual(f.module_name, "foo.y")
def make_resolver(self, filename, module_name): module = resolve.Local(filename, module_name, self.py_fs) return resolve.Resolver(self.path, module)