From cba6797f528002b881151db8c7a77eeb5aa20470 Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Mon, 5 Jun 2023 13:52:04 +1000 Subject: [PATCH] Failing tests --- src/rust/engine/dep_inference/src/python/tests.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/rust/engine/dep_inference/src/python/tests.rs b/src/rust/engine/dep_inference/src/python/tests.rs index 03a603421b2..7599f65759a 100644 --- a/src/rust/engine/dep_inference/src/python/tests.rs +++ b/src/rust/engine/dep_inference/src/python/tests.rs @@ -40,6 +40,7 @@ fn simple_imports() { assert_imports("import a.b", &["a.b"]); assert_imports("import a as x", &["a"]); assert_imports("from a import b", &["a.b"]); + assert_imports("from a import *", &["a"]); assert_imports("from a.b import c", &["a.b.c"]); assert_imports("from a.b import c.d", &["a.b.c.d"]); assert_imports("from a.b import c, d, e", &["a.b.c", "a.b.d", "a.b.e"]); @@ -87,6 +88,11 @@ from a.b import ( assert_imports("from ....a import b, c", &["....a.b", "....a.c"]); assert_imports("from ....a import b as d, c", &["....a.b", "....a.c"]); + assert_imports("from .a import *", &[".a"]); + assert_imports("from . import *", &["."]); + assert_imports("from ..a import *", &["..a"]); + assert_imports("from .. import *", &[".."]); + assert_imports( "class X: def method(): if True: while True: class Y: def f(): import a", &["a"], @@ -489,8 +495,11 @@ fn assert_relative_imports(filename: &str, code: &str, resolved_imports: &[&str] fn relative_imports_resolution() { let filename = "foo/bar/baz.py"; assert_relative_imports(filename, "from . import b", &["foo.bar.b"]); + assert_relative_imports(filename, "from . import *", &["foo.bar"]); assert_relative_imports(filename, "from .a import b", &["foo.bar.a.b"]); + assert_relative_imports(filename, "from .a import *", &["foo.bar.a"]); assert_relative_imports(filename, "from .. import b", &["foo.b"]); + assert_relative_imports(filename, "from .. import *", &["foo"]); assert_relative_imports(filename, "from ..a import b", &["foo.a.b"]); assert_relative_imports(filename, "from .. import b.c", &["foo.b.c"]); assert_relative_imports(filename, "from ..a import b.c", &["foo.a.b.c"]);