33 import java.lang.module.ModuleDescriptor; 34 import java.lang.module.ModuleFinder; 35 import java.lang.reflect.Layer; 36 import java.lang.reflect.Module; 37 import java.util.List; 38 import java.util.Set; 39 40 import org.testng.annotations.Test; 41 import static org.testng.Assert.*; 42 43 @Test 44 public class LayerControllerTest { 45 46 /** 47 * Creates a Controller for a module layer containing modules m1 and m2. 48 * Module m1 contains p1, reads java.base, does not export/open any package 49 * Module m2 contains p2, reads java.base, does not export/open any package 50 */ 51 private Layer.Controller createTestLayer() { 52 ModuleDescriptor descriptor1 53 = ModuleDescriptor.module("m1") 54 .contains("p1") 55 .requires("java.base") 56 .build(); 57 58 ModuleDescriptor descriptor2 59 = ModuleDescriptor.module("m2") 60 .requires("java.base") 61 .contains("p2") 62 .build(); 63 64 ModuleFinder finder = ModuleUtils.finderOf(descriptor1, descriptor2); 65 Layer bootLayer = Layer.boot(); 66 67 Configuration cf = bootLayer.configuration() 68 .resolveRequires(finder, ModuleFinder.of(), Set.of("m1", "m2")); 69 70 ClassLoader scl = ClassLoader.getSystemClassLoader(); 71 72 Layer.Controller controller 73 = Layer.defineModulesWithOneLoader(cf, List.of(bootLayer), scl); 74 75 Layer layer = controller.layer(); 76 77 assertTrue(layer.modules().size() == 2); 78 assertTrue(layer.findModule("m1").isPresent()); 79 assertTrue(layer.findModule("m2").isPresent()); 80 81 return controller; 82 } 83 84 /** 85 * Basic test of Layer.Controller to update modules m1 and m2 to read and 86 * open packages to each other. 87 */ 88 public void testBasic() { | 33 import java.lang.module.ModuleDescriptor; 34 import java.lang.module.ModuleFinder; 35 import java.lang.reflect.Layer; 36 import java.lang.reflect.Module; 37 import java.util.List; 38 import java.util.Set; 39 40 import org.testng.annotations.Test; 41 import static org.testng.Assert.*; 42 43 @Test 44 public class LayerControllerTest { 45 46 /** 47 * Creates a Controller for a module layer containing modules m1 and m2. 48 * Module m1 contains p1, reads java.base, does not export/open any package 49 * Module m2 contains p2, reads java.base, does not export/open any package 50 */ 51 private Layer.Controller createTestLayer() { 52 ModuleDescriptor descriptor1 53 = ModuleDescriptor.newModule("m1") 54 .packages(Set.of("p1")) 55 .requires("java.base") 56 .build(); 57 58 ModuleDescriptor descriptor2 59 = ModuleDescriptor.newModule("m2") 60 .requires("java.base") 61 .packages(Set.of("p2")) 62 .build(); 63 64 ModuleFinder finder = ModuleUtils.finderOf(descriptor1, descriptor2); 65 Layer bootLayer = Layer.boot(); 66 67 Configuration cf = bootLayer.configuration() 68 .resolve(finder, ModuleFinder.of(), Set.of("m1", "m2")); 69 70 ClassLoader scl = ClassLoader.getSystemClassLoader(); 71 72 Layer.Controller controller 73 = Layer.defineModulesWithOneLoader(cf, List.of(bootLayer), scl); 74 75 Layer layer = controller.layer(); 76 77 assertTrue(layer.modules().size() == 2); 78 assertTrue(layer.findModule("m1").isPresent()); 79 assertTrue(layer.findModule("m2").isPresent()); 80 81 return controller; 82 } 83 84 /** 85 * Basic test of Layer.Controller to update modules m1 and m2 to read and 86 * open packages to each other. 87 */ 88 public void testBasic() { |