Creates a first simple test for java_runtime() in java_runtime_tests.bzl

PiperOrigin-RevId: 869124095
Change-Id: Ia9753cdd40d6547dab01a726a30f2fb7459a0b10
diff --git a/test/java/common/rules/BUILD b/test/java/common/rules/BUILD
index 2311a3f..8a00159 100644
--- a/test/java/common/rules/BUILD
+++ b/test/java/common/rules/BUILD
@@ -2,6 +2,7 @@
 load(":java_import_tests.bzl", "java_import_tests")
 load(":java_library_tests.bzl", "java_library_tests")
 load(":java_plugin_tests.bzl", "java_plugin_tests")
+load(":java_runtime_tests.bzl", "java_runtime_tests")
 load(":java_test_tests.bzl", "java_test_tests")
 load(":merge_attrs_tests.bzl", "merge_attrs_test_suite")
 
@@ -17,4 +18,6 @@
 
 java_import_tests(name = "java_import_tests")
 
+java_runtime_tests(name = "java_runtime_tests")
+
 java_test_tests(name = "java_test_tests")
diff --git a/test/java/common/rules/java_runtime_tests.bzl b/test/java/common/rules/java_runtime_tests.bzl
new file mode 100644
index 0000000..948f0c3
--- /dev/null
+++ b/test/java/common/rules/java_runtime_tests.bzl
@@ -0,0 +1,41 @@
+"""Tests for the java_runtime rule"""
+
+load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite")
+load("@rules_testing//lib:util.bzl", "util")
+load("//java/toolchains:java_runtime.bzl", "java_runtime")
+load("//test/java/testutil:java_runtime_info_subject.bzl", "java_runtime_info_subject")
+
+def _test_java_runtime_simple(name):
+    util.helper_target(
+        java_runtime,
+        name = name + "/jvm-foo",
+        srcs = [
+            "foo/a",
+            "foo/b",
+        ],
+        java_home = "foo",
+    )
+
+    analysis_test(
+        name = name,
+        impl = _test_java_runtime_simple_impl,
+        target = name + "/jvm-foo",
+    )
+
+def _test_java_runtime_simple_impl(env, target):
+    java_runtime_info_subject.from_target(env, target).files().contains_exactly([
+        "{package}/foo/a",
+        "{package}/foo/b",
+    ])
+    env.expect.that_target(target).data_runfiles().contains_exactly([
+        "{workspace}/{package}/foo/a",
+        "{workspace}/{package}/foo/b",
+    ])
+
+def java_runtime_tests(name):
+    test_suite(
+        name = name,
+        tests = [
+            _test_java_runtime_simple,
+        ],
+    )
diff --git a/test/java/testutil/java_runtime_info_subject.bzl b/test/java/testutil/java_runtime_info_subject.bzl
index ef5bdf9..37a477e 100644
--- a/test/java/testutil/java_runtime_info_subject.bzl
+++ b/test/java/testutil/java_runtime_info_subject.bzl
@@ -14,6 +14,7 @@
         java_home_runfiles_path = lambda: _new_path_string_subject(self.actual.java_home_runfiles_path, self.meta.derive("java_home_runfiles_path")),
         java_executable_exec_path = lambda: _new_path_string_subject(self.actual.java_executable_exec_path, self.meta.derive("java_executable_exec_path")),
         java_executable_runfiles_path = lambda: _new_path_string_subject(self.actual.java_executable_runfiles_path, self.meta.derive("java_executable_runfiles_path")),
+        files = lambda: subjects.depset_file(self.actual.files, self.meta.derive("files")),
     )
     return public