diff --git a/python-frontend/src/test/java/org/sonar/python/semantic/v2/TypeInferenceV2Test.java b/python-frontend/src/test/java/org/sonar/python/semantic/v2/TypeInferenceV2Test.java index 998cb6fc45..9992ae48c5 100644 --- a/python-frontend/src/test/java/org/sonar/python/semantic/v2/TypeInferenceV2Test.java +++ b/python-frontend/src/test/java/org/sonar/python/semantic/v2/TypeInferenceV2Test.java @@ -171,6 +171,21 @@ class A(Parent): ... .isEqualTo("unknown.Parent"); } + @Test + void testUnresolvedImportTypePropagationInsideFunctions() { + var fileInput = inferTypes(""" + from a import b + def function(): + f(b) + """); + var functionDef = (FunctionDef) fileInput.statements().statements().get(1); + var funcCall = ((ExpressionStatement) functionDef.body().statements().get(0)).expressions().get(0); + var arg = ((RegularArgument) ((CallExpression) funcCall).arguments().get(0)); + var argType = arg.expression().typeV2(); + + assertThat(argType).isInstanceOfSatisfying(UnresolvedImportType.class, a -> assertThat(a.importPath()).isEqualTo("a.b")); // FAILS + } + @Test void testProjectLevelSymbolTableImports() { var classSymbol = new ClassSymbolImpl("C", "something.known.C");