42 * by SystemModules
43 */
44
45 public class SystemModulesTest {
46 private static final JavaLangModuleAccess jlma = SharedSecrets.getJavaLangModuleAccess();
47
48 /**
49 * Verify ModuleDescriptor contains unmodifiable sets
50 */
51 @Test
52 public void testUnmodifableDescriptors() throws Exception {
53 ModuleFinder.ofSystem().findAll()
54 .stream()
55 .map(ModuleReference::descriptor)
56 .forEach(this::testModuleDescriptor);
57 }
58
59 private void testModuleDescriptor(ModuleDescriptor md) {
60 assertUnmodifiable(md.packages(), "package");
61 assertUnmodifiable(md.requires(),
62 jlma.newRequires(Set.of(Requires.Modifier.TRANSITIVE), "require"));
63 for (Requires req : md.requires()) {
64 assertUnmodifiable(req.modifiers(), Requires.Modifier.TRANSITIVE);
65 }
66
67 assertUnmodifiable(md.exports(), jlma.newExports(Set.of(), "export", Set.of()));
68 for (Exports exp : md.exports()) {
69 assertUnmodifiable(exp.modifiers(), Exports.Modifier.SYNTHETIC);
70 assertUnmodifiable(exp.targets(), "target");
71 }
72
73 assertUnmodifiable(md.opens(), jlma.newOpens(Set.of(), "open", Set.of()));
74 for (Opens opens : md.opens()) {
75 assertUnmodifiable(opens.modifiers(), Opens.Modifier.SYNTHETIC);
76 assertUnmodifiable(opens.targets(), "target");
77 }
78
79 assertUnmodifiable(md.uses(), "use");
80
81 assertUnmodifiable(md.provides(),
82 jlma.newProvides("provide", List.of("provide")));
|
42 * by SystemModules
43 */
44
45 public class SystemModulesTest {
46 private static final JavaLangModuleAccess jlma = SharedSecrets.getJavaLangModuleAccess();
47
48 /**
49 * Verify ModuleDescriptor contains unmodifiable sets
50 */
51 @Test
52 public void testUnmodifableDescriptors() throws Exception {
53 ModuleFinder.ofSystem().findAll()
54 .stream()
55 .map(ModuleReference::descriptor)
56 .forEach(this::testModuleDescriptor);
57 }
58
59 private void testModuleDescriptor(ModuleDescriptor md) {
60 assertUnmodifiable(md.packages(), "package");
61 assertUnmodifiable(md.requires(),
62 jlma.newRequires(Set.of(Requires.Modifier.TRANSITIVE), "require", null));
63 for (Requires req : md.requires()) {
64 assertUnmodifiable(req.modifiers(), Requires.Modifier.TRANSITIVE);
65 }
66
67 assertUnmodifiable(md.exports(), jlma.newExports(Set.of(), "export", Set.of()));
68 for (Exports exp : md.exports()) {
69 assertUnmodifiable(exp.modifiers(), Exports.Modifier.SYNTHETIC);
70 assertUnmodifiable(exp.targets(), "target");
71 }
72
73 assertUnmodifiable(md.opens(), jlma.newOpens(Set.of(), "open", Set.of()));
74 for (Opens opens : md.opens()) {
75 assertUnmodifiable(opens.modifiers(), Opens.Modifier.SYNTHETIC);
76 assertUnmodifiable(opens.targets(), "target");
77 }
78
79 assertUnmodifiable(md.uses(), "use");
80
81 assertUnmodifiable(md.provides(),
82 jlma.newProvides("provide", List.of("provide")));
|