diff --git a/stubgenj/tests/stubtest/test-data/unit/forward_declaration.test b/stubgenj/tests/stubtest/test-data/unit/forward_declaration.test new file mode 100644 index 0000000000000000000000000000000000000000..00c0a3b573f4b5dc8c5e1b0afcfded89b1f190c1 --- /dev/null +++ b/stubgenj/tests/stubtest/test-data/unit/forward_declaration.test @@ -0,0 +1,10 @@ + +[case testArgumentTypeDeclaration] +import jpype +import typing + +if typing.TYPE_CHECKING: + import java.util + +def foo(arg: "java.util.Formatter"): + reveal_type(arg) # N: Revealed type is "java.util.Formatter" diff --git a/stubgenj/tests/stubtest/test-data/unit/jpype_jpackage.test b/stubgenj/tests/stubtest/test-data/unit/jpype_jpackage.test index ee6398d42b38b7476c5ad4a9b932b47b0d420f0c..b01f439f12d11a26726eadf30fc50cac7dd9c12d 100644 --- a/stubgenj/tests/stubtest/test-data/unit/jpype_jpackage.test +++ b/stubgenj/tests/stubtest/test-data/unit/jpype_jpackage.test @@ -15,4 +15,3 @@ java = jpype.JPackage("java") int_list: typing.List[int] = [42] reveal_type(java.util.ArrayList(int_list)) # N: Revealed type is "java.util.ArrayList[Any]" - diff --git a/stubgenj/tests/test_stubtest.py b/stubgenj/tests/test_stubtest.py index 2b0007f7d53c6ce19bad92c24232d18ec52679e1..bcd5ac930c6e820c44472661d2023c096ae16d35 100644 --- a/stubgenj/tests/test_stubtest.py +++ b/stubgenj/tests/test_stubtest.py @@ -43,9 +43,20 @@ def setup_mypy_for_data_driven_tests(stub_tmpdir: str): def test_generate_stubs(stub_tmpdir): import java.util # noqa - stubgenj.generateJavaStubs([java.util], useStubsSuffix=True, outputDir=stub_tmpdir) + stubgenj.generateJavaStubs( + [java.util], + useStubsSuffix=True, outputDir=stub_tmpdir, + ) @pytest.mark.trylast class StubTestSuite(mypy.test.testcheck.TypeCheckSuite): - files = ['arraylist.test', 'hashmap.test', 'enummap.test', 'callbacks.test', 'jpype_jpackage.test', 'varargs.test'] + files = [ + 'arraylist.test', + 'callbacks.test', + 'enummap.test', + 'forward_declaration.test', + 'hashmap.test', + 'jpype_jpackage.test', + 'varargs.test', + ]