Migrate the `JavaInfoStarlarkApiTest.buildHelperCreateJavaInfoWithNativeHeaders_javaRuleOutputJarsProvider` test to Starlark

The test is removed from Bazel and added in rules_java

PiperOrigin-RevId: 734657671
Change-Id: I4b106fca127a48ced816d57c5c9c5ca25f523677
diff --git a/java/test/common/java_info_tests.bzl b/java/test/common/java_info_tests.bzl
index 9e4d1a3..4c26af5 100644
--- a/java/test/common/java_info_tests.bzl
+++ b/java/test/common/java_info_tests.bzl
@@ -822,6 +822,26 @@
         "{package}/compile.deps",
     ])
 
+def _with_native_headers_test(name):
+    target_name = name + "/my_starlark_rule"
+    util.helper_target(
+        custom_java_info_rule,
+        name = target_name,
+        native_headers_jar = "native_headers.jar",
+        output_jar = target_name + "/my_starlark_rule_lib.jar",
+    )
+
+    analysis_test(
+        name = name,
+        impl = _with_native_headers_test_impl,
+        target = target_name,
+    )
+
+def _with_native_headers_test_impl(env, target):
+    java_info_subject.from_target(env, target).outputs().native_headers().contains_exactly([
+        "{package}/native_headers.jar",
+    ])
+
 def java_info_tests(name):
     test_suite(
         name = name,
@@ -851,5 +871,6 @@
             _with_generated_jars_outputs_test,
             _with_generated_jars_annotation_processing_test,
             _with_compile_jdeps_test,
+            _with_native_headers_test,
         ],
     )
diff --git a/java/test/testutil/java_info_subject.bzl b/java/test/testutil/java_info_subject.bzl
index a3db4ba..aea927b 100644
--- a/java/test/testutil/java_info_subject.bzl
+++ b/java/test/testutil/java_info_subject.bzl
@@ -47,6 +47,7 @@
         generated_source_jars = lambda: subjects.depset_file(depset([o.generated_source_jar for o in actual.jars]), self.meta.derive("generated_source_jars")),
         jdeps = lambda: subjects.depset_file(depset([o.jdeps for o in actual.jars]), self.meta.derive("jdeps")),
         compile_jdeps = lambda: subjects.depset_file(depset([o.compile_jdeps for o in actual.jars]), self.meta.derive("compile_jdeps")),
+        native_headers = lambda: subjects.depset_file(depset([o.native_headers_jar for o in actual.jars]), self.meta.derive("native_headers")),
     )
     return public
 
diff --git a/java/test/testutil/rules/custom_java_info_rule.bzl b/java/test/testutil/rules/custom_java_info_rule.bzl
index a74f9c3..ad1bb65 100644
--- a/java/test/testutil/rules/custom_java_info_rule.bzl
+++ b/java/test/testutil/rules/custom_java_info_rule.bzl
@@ -52,6 +52,7 @@
             compile_jdeps = ctx.file.compile_jdeps,
             generated_class_jar = ctx.file.generated_class_jar,
             generated_source_jar = ctx.file.generated_source_jar,
+            native_headers_jar = ctx.file.native_headers_jar,
         ),
     ]
 
@@ -70,6 +71,7 @@
         "compile_jdeps": attr.label(allow_single_file = True),
         "generated_class_jar": attr.label(allow_single_file = True),
         "generated_source_jar": attr.label(allow_single_file = True),
+        "native_headers_jar": attr.label(allow_single_file = True),
         "use_ijar": attr.bool(default = False),
         "neverlink": attr.bool(default = False),
         "pack_sources": attr.bool(default = False),