42 Object m; |
42 Object m; |
43 |
43 |
44 // NULL classloader argument, expect success |
44 // NULL classloader argument, expect success |
45 m = ModuleHelper.ModuleObject("mymodule", null, new String[] { "mypackage" }); |
45 m = ModuleHelper.ModuleObject("mymodule", null, new String[] { "mypackage" }); |
46 assertNotNull(m, "Module should not be null"); |
46 assertNotNull(m, "Module should not be null"); |
47 ModuleHelper.DefineModule(m, "9.0", "mymodule/here", new String[] { "mypackage" }); |
47 ModuleHelper.DefineModule(m, false, "9.0", "mymodule/here", new String[] { "mypackage" }); |
48 |
48 |
49 /* Invalid test, won't compile. |
49 /* Invalid test, won't compile. |
50 // Invalid classloader argument, expect an IAE |
50 // Invalid classloader argument, expect an IAE |
51 try { |
51 try { |
52 m = ModuleHelper.ModuleObject("mymodule_one", new Object(), new String[] { "mypackage1" }); |
52 m = ModuleHelper.ModuleObject("mymodule_one", new Object(), new String[] { "mypackage1" }); |
53 ModuleHelper.DefineModule(m, "9.0", "mymodule/here", new String[] { "mypackage1" }); |
53 ModuleHelper.DefineModule(m, false, "9.0", "mymodule/here", new String[] { "mypackage1" }); |
54 throw new RuntimeException("Failed to get expected IAE for bad loader"); |
54 throw new RuntimeException("Failed to get expected IAE for bad loader"); |
55 } catch(IllegalArgumentException e) { |
55 } catch(IllegalArgumentException e) { |
56 // Expected |
56 // Expected |
57 } |
57 } |
58 */ |
58 */ |
59 |
59 |
60 // NULL package argument, should not throw an exception |
60 // NULL package argument, should not throw an exception |
61 m = ModuleHelper.ModuleObject("mymoduleTwo", cl, new String[] { "nullpkg" }); |
61 m = ModuleHelper.ModuleObject("mymoduleTwo", cl, new String[] { "nullpkg" }); |
62 assertNotNull(m, "Module should not be null"); |
62 assertNotNull(m, "Module should not be null"); |
63 ModuleHelper.DefineModule(m, "9.0", "mymoduleTwo/here", null); |
63 ModuleHelper.DefineModule(m, false, "9.0", "mymoduleTwo/here", null); |
64 |
64 |
65 // Null module argument, expect an NPE |
65 // Null module argument, expect an NPE |
66 try { |
66 try { |
67 ModuleHelper.DefineModule(null, "9.0", "mymodule/here", new String[] { "mypackage1" }); |
67 ModuleHelper.DefineModule(null, false, "9.0", "mymodule/here", new String[] { "mypackage1" }); |
68 throw new RuntimeException("Failed to get expected NPE for null module"); |
68 throw new RuntimeException("Failed to get expected NPE for null module"); |
69 } catch(NullPointerException e) { |
69 } catch(NullPointerException e) { |
70 if (!e.getMessage().contains("Null module object")) { |
70 if (!e.getMessage().contains("Null module object")) { |
71 throw new RuntimeException("Failed to get expected IAE message for null module: " + e.getMessage()); |
71 throw new RuntimeException("Failed to get expected IAE message for null module: " + e.getMessage()); |
72 } |
72 } |
73 // Expected |
73 // Expected |
74 } |
74 } |
75 |
75 |
76 // Invalid module argument, expect an IAE |
76 // Invalid module argument, expect an IAE |
77 try { |
77 try { |
78 ModuleHelper.DefineModule(new Object(), "9.0", "mymodule/here", new String[] { "mypackage1" }); |
78 ModuleHelper.DefineModule(new Object(), false, "9.0", "mymodule/here", new String[] { "mypackage1" }); |
79 throw new RuntimeException("Failed to get expected IAE or NPE for bad module"); |
79 throw new RuntimeException("Failed to get expected IAE or NPE for bad module"); |
80 } catch(IllegalArgumentException e) { |
80 } catch(IllegalArgumentException e) { |
81 if (!e.getMessage().contains("module is not an instance of type java.lang.Module")) { |
81 if (!e.getMessage().contains("module is not an instance of type java.lang.Module")) { |
82 throw new RuntimeException("Failed to get expected IAE message for bad module: " + e.getMessage()); |
82 throw new RuntimeException("Failed to get expected IAE message for bad module: " + e.getMessage()); |
83 } |
83 } |
84 } |
84 } |
85 |
85 |
86 // NULL module name, expect an IAE or NPE |
86 // NULL module name, expect an IAE or NPE |
87 try { |
87 try { |
88 m = ModuleHelper.ModuleObject(null, cl, new String[] { "mypackage2" }); |
88 m = ModuleHelper.ModuleObject(null, cl, new String[] { "mypackage2" }); |
89 ModuleHelper.DefineModule(m, "9.0", "mymodule/here", new String[] { "mypackage2" }); |
89 ModuleHelper.DefineModule(m, false, "9.0", "mymodule/here", new String[] { "mypackage2" }); |
90 throw new RuntimeException("Failed to get expected NPE for NULL module"); |
90 throw new RuntimeException("Failed to get expected NPE for NULL module"); |
91 } catch(IllegalArgumentException e) { |
91 } catch(IllegalArgumentException e) { |
92 // Expected |
92 // Expected |
93 } catch(NullPointerException e) { |
93 } catch(NullPointerException e) { |
94 // Expected |
94 // Expected |
95 } |
95 } |
96 |
96 |
97 // module name is java.base, expect an IAE |
97 // module name is java.base, expect an IAE |
98 m = ModuleHelper.ModuleObject("java.base", cl, new String[] { "mypackage3" }); |
98 m = ModuleHelper.ModuleObject("java.base", cl, new String[] { "mypackage3" }); |
99 try { |
99 try { |
100 ModuleHelper.DefineModule(m, "9.0", "mymodule/here", new String[] { "mypackage3" }); |
100 ModuleHelper.DefineModule(m, false, "9.0", "mymodule/here", new String[] { "mypackage3" }); |
101 throw new RuntimeException("Failed to get expected IAE for java.base, not defined with boot class loader"); |
101 throw new RuntimeException("Failed to get expected IAE for java.base, not defined with boot class loader"); |
102 } catch(IllegalArgumentException e) { |
102 } catch(IllegalArgumentException e) { |
103 if (!e.getMessage().contains("Class loader must be the boot class loader")) { |
103 if (!e.getMessage().contains("Class loader must be the boot class loader")) { |
104 throw new RuntimeException("Failed to get expected IAE message for java.base: " + e.getMessage()); |
104 throw new RuntimeException("Failed to get expected IAE message for java.base: " + e.getMessage()); |
105 } |
105 } |
106 } |
106 } |
107 |
107 |
108 // Empty entry in package list, expect an IAE |
108 // Empty entry in package list, expect an IAE |
109 m = ModuleHelper.ModuleObject("module.y", cl, new String[] { "mypackageX", "mypackageY" }); |
109 m = ModuleHelper.ModuleObject("module.y", cl, new String[] { "mypackageX", "mypackageY" }); |
110 try { |
110 try { |
111 ModuleHelper.DefineModule(m, "9.0", "mymodule/here", new String[] { "mypackageX", "", "mypackageY" }); |
111 ModuleHelper.DefineModule(m, false, "9.0", "mymodule/here", new String[] { "mypackageX", "", "mypackageY" }); |
112 throw new RuntimeException("Failed to get IAE for empty package"); |
112 throw new RuntimeException("Failed to get IAE for empty package"); |
113 } catch(IllegalArgumentException e) { |
113 } catch(IllegalArgumentException e) { |
114 if (!e.getMessage().contains("Invalid package name")) { |
114 if (!e.getMessage().contains("Invalid package name")) { |
115 throw new RuntimeException("Failed to get expected IAE message empty package entry: " + e.getMessage()); |
115 throw new RuntimeException("Failed to get expected IAE message empty package entry: " + e.getMessage()); |
116 } |
116 } |
117 } |
117 } |
118 |
118 |
119 // Duplicate module name, expect an ISE |
119 // Duplicate module name, expect an ISE |
120 m = ModuleHelper.ModuleObject("Module_A", cl, new String[] { "mypackage6" }); |
120 m = ModuleHelper.ModuleObject("Module_A", cl, new String[] { "mypackage6" }); |
121 assertNotNull(m, "Module should not be null"); |
121 assertNotNull(m, "Module should not be null"); |
122 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage6" }); |
122 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage6" }); |
123 try { |
123 try { |
124 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage6a" }); |
124 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage6a" }); |
125 throw new RuntimeException("Failed to get ISE for duplicate module"); |
125 throw new RuntimeException("Failed to get ISE for duplicate module"); |
126 } catch(IllegalStateException e) { |
126 } catch(IllegalStateException e) { |
127 if (!e.getMessage().contains("Module Module_A is already defined")) { |
127 if (!e.getMessage().contains("Module Module_A is already defined")) { |
128 throw new RuntimeException("Failed to get expected ISE message for duplicate module: " + e.getMessage()); |
128 throw new RuntimeException("Failed to get expected ISE message for duplicate module: " + e.getMessage()); |
129 } |
129 } |
130 } |
130 } |
131 |
131 |
132 // Package is already defined for class loader, expect an ISE |
132 // Package is already defined for class loader, expect an ISE |
133 m = ModuleHelper.ModuleObject("dupl.pkg.module", cl, new String[] { "mypackage6b" }); |
133 m = ModuleHelper.ModuleObject("dupl.pkg.module", cl, new String[] { "mypackage6b" }); |
134 try { |
134 try { |
135 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage6" }); |
135 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage6" }); |
136 throw new RuntimeException("Failed to get ISE for existing package"); |
136 throw new RuntimeException("Failed to get ISE for existing package"); |
137 } catch(IllegalStateException e) { |
137 } catch(IllegalStateException e) { |
138 if (!e.getMessage().contains("Package mypackage6 for module dupl.pkg.module is already in another module, Module_A, defined to the class loader")) { |
138 if (!e.getMessage().contains("Package mypackage6 for module dupl.pkg.module is already in another module, Module_A, defined to the class loader")) { |
139 throw new RuntimeException("Failed to get expected ISE message for duplicate package: " + e.getMessage()); |
139 throw new RuntimeException("Failed to get expected ISE message for duplicate package: " + e.getMessage()); |
140 } |
140 } |
141 } |
141 } |
142 |
142 |
143 // Empty module name, expect an IAE |
143 // Empty module name, expect an IAE |
144 try { |
144 try { |
145 m = ModuleHelper.ModuleObject("", cl, new String[] { "mypackage8" }); |
145 m = ModuleHelper.ModuleObject("", cl, new String[] { "mypackage8" }); |
146 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage8" }); |
146 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage8" }); |
147 throw new RuntimeException("Failed to get expected IAE for empty module name"); |
147 throw new RuntimeException("Failed to get expected IAE for empty module name"); |
148 } catch(IllegalArgumentException e) { |
148 } catch(IllegalArgumentException e) { |
149 // Expected |
149 // Expected |
150 } |
150 } |
151 |
151 |
152 // Module name with ';', not allowed in java source |
152 // Module name with ';', not allowed in java source |
153 try { |
153 try { |
154 m = ModuleHelper.ModuleObject("bad;name", cl, new String[] { "mypackage9" }); |
154 m = ModuleHelper.ModuleObject("bad;name", cl, new String[] { "mypackage9" }); |
155 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage9" }); |
155 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage9" }); |
156 throw new RuntimeException("Failed to get expected IAE for bad;name"); |
156 throw new RuntimeException("Failed to get expected IAE for bad;name"); |
157 } catch(IllegalArgumentException e) { |
157 } catch(IllegalArgumentException e) { |
158 // Expected |
158 // Expected |
159 } |
159 } |
160 |
160 |
161 // Module name with leading dot, not allowed in java source |
161 // Module name with leading dot, not allowed in java source |
162 try { |
162 try { |
163 m = ModuleHelper.ModuleObject(".leadingdot", cl, new String[] { "mypackage9a" }); |
163 m = ModuleHelper.ModuleObject(".leadingdot", cl, new String[] { "mypackage9a" }); |
164 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage9a" }); |
164 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage9a" }); |
165 throw new RuntimeException("Failed to get expected IAE for .leadingdot"); |
165 throw new RuntimeException("Failed to get expected IAE for .leadingdot"); |
166 } catch(IllegalArgumentException e) { |
166 } catch(IllegalArgumentException e) { |
167 // Expected |
167 // Expected |
168 } |
168 } |
169 |
169 |
170 // Module name with trailing dot, not allowed in java source |
170 // Module name with trailing dot, not allowed in java source |
171 try { |
171 try { |
172 m = ModuleHelper.ModuleObject("trailingdot.", cl, new String[] { "mypackage9b" }); |
172 m = ModuleHelper.ModuleObject("trailingdot.", cl, new String[] { "mypackage9b" }); |
173 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage9b" }); |
173 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage9b" }); |
174 throw new RuntimeException("Failed to get expected IAE for trailingdot."); |
174 throw new RuntimeException("Failed to get expected IAE for trailingdot."); |
175 } catch(IllegalArgumentException e) { |
175 } catch(IllegalArgumentException e) { |
176 // Expected |
176 // Expected |
177 } |
177 } |
178 |
178 |
179 // Module name with consecutive dots, not allowed in java source |
179 // Module name with consecutive dots, not allowed in java source |
180 try { |
180 try { |
181 m = ModuleHelper.ModuleObject("trailingdot.", cl, new String[] { "mypackage9b" }); |
181 m = ModuleHelper.ModuleObject("trailingdot.", cl, new String[] { "mypackage9b" }); |
182 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage9b" }); |
182 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage9b" }); |
183 throw new RuntimeException("Failed to get expected IAE for trailingdot."); |
183 throw new RuntimeException("Failed to get expected IAE for trailingdot."); |
184 } catch(IllegalArgumentException e) { |
184 } catch(IllegalArgumentException e) { |
185 // Expected |
185 // Expected |
186 } |
186 } |
187 |
187 |
188 // module name with multiple dots, should be okay |
188 // module name with multiple dots, should be okay |
189 m = ModuleHelper.ModuleObject("more.than.one.dat", cl, new String[] { "mypackage9d" }); |
189 m = ModuleHelper.ModuleObject("more.than.one.dat", cl, new String[] { "mypackage9d" }); |
190 assertNotNull(m, "Module should not be null"); |
190 assertNotNull(m, "Module should not be null"); |
191 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "mypackage9d" }); |
191 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "mypackage9d" }); |
192 |
192 |
193 // Zero length package list, should be okay |
193 // Zero length package list, should be okay |
194 m = ModuleHelper.ModuleObject("zero.packages", cl, new String[] { }); |
194 m = ModuleHelper.ModuleObject("zero.packages", cl, new String[] { }); |
195 assertNotNull(m, "Module should not be null"); |
195 assertNotNull(m, "Module should not be null"); |
196 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { }); |
196 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { }); |
197 |
197 |
198 // Invalid package name, expect an IAE |
198 // Invalid package name, expect an IAE |
199 m = ModuleHelper.ModuleObject("moduleFive", cl, new String[] { "your.package" }); |
199 m = ModuleHelper.ModuleObject("moduleFive", cl, new String[] { "your.package" }); |
200 try { |
200 try { |
201 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "your.package" }); |
201 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "your.package" }); |
202 throw new RuntimeException("Failed to get expected IAE for your.package"); |
202 throw new RuntimeException("Failed to get expected IAE for your.package"); |
203 } catch(IllegalArgumentException e) { |
203 } catch(IllegalArgumentException e) { |
204 if (!e.getMessage().contains("Invalid package name")) { |
204 if (!e.getMessage().contains("Invalid package name")) { |
205 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
205 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
206 } |
206 } |
207 } |
207 } |
208 |
208 |
209 // Invalid package name, expect an IAE |
209 // Invalid package name, expect an IAE |
210 m = ModuleHelper.ModuleObject("moduleSix", cl, new String[] { "foo" }); // Name irrelevant |
210 m = ModuleHelper.ModuleObject("moduleSix", cl, new String[] { "foo" }); // Name irrelevant |
211 try { |
211 try { |
212 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { ";your/package" }); |
212 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { ";your/package" }); |
213 throw new RuntimeException("Failed to get expected IAE for ;your.package"); |
213 throw new RuntimeException("Failed to get expected IAE for ;your.package"); |
214 } catch(IllegalArgumentException e) { |
214 } catch(IllegalArgumentException e) { |
215 if (!e.getMessage().contains("Invalid package name")) { |
215 if (!e.getMessage().contains("Invalid package name")) { |
216 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
216 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
217 } |
217 } |
218 } |
218 } |
219 |
219 |
220 // Invalid package name, expect an IAE |
220 // Invalid package name, expect an IAE |
221 m = ModuleHelper.ModuleObject("moduleSeven", cl, new String[] { "foo" }); // Name irrelevant |
221 m = ModuleHelper.ModuleObject("moduleSeven", cl, new String[] { "foo" }); // Name irrelevant |
222 try { |
222 try { |
223 ModuleHelper.DefineModule(m, "9.0", "module.name/here", new String[] { "7[743" }); |
223 ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "7[743" }); |
224 throw new RuntimeException("Failed to get expected IAE for package 7[743"); |
224 throw new RuntimeException("Failed to get expected IAE for package 7[743"); |
225 } catch(IllegalArgumentException e) { |
225 } catch(IllegalArgumentException e) { |
226 if (!e.getMessage().contains("Invalid package name")) { |
226 if (!e.getMessage().contains("Invalid package name")) { |
227 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
227 throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage()); |
228 } |
228 } |
230 |
230 |
231 // Package named "java" defined to a class loader other than the boot or platform class loader, expect an IAE |
231 // Package named "java" defined to a class loader other than the boot or platform class loader, expect an IAE |
232 m = ModuleHelper.ModuleObject("modulejavapkgOne", cl, new String[] { "java/foo" }); |
232 m = ModuleHelper.ModuleObject("modulejavapkgOne", cl, new String[] { "java/foo" }); |
233 try { |
233 try { |
234 // module m is defined to an instance of MyClassLoader class loader |
234 // module m is defined to an instance of MyClassLoader class loader |
235 ModuleHelper.DefineModule(m, "9.0", "modulejavapkgOne", new String[] { "java/foo" }); |
235 ModuleHelper.DefineModule(m, false, "9.0", "modulejavapkgOne", new String[] { "java/foo" }); |
236 throw new RuntimeException("Failed to get expected IAE for package java/foo"); |
236 throw new RuntimeException("Failed to get expected IAE for package java/foo"); |
237 } catch(IllegalArgumentException e) { |
237 } catch(IllegalArgumentException e) { |
238 if (!e.getMessage().contains("prohibited package name")) { |
238 if (!e.getMessage().contains("prohibited package name")) { |
239 throw new RuntimeException("Failed to get expected IAE message for prohibited package name: " + e.getMessage()); |
239 throw new RuntimeException("Failed to get expected IAE message for prohibited package name: " + e.getMessage()); |
240 } |
240 } |
241 } |
241 } |
242 |
242 |
243 // Package named "javabar" defined to a class loader other than the boot or platform class loader, should be ok |
243 // Package named "javabar" defined to a class loader other than the boot or platform class loader, should be ok |
244 m = ModuleHelper.ModuleObject("modulejavapkgTwo", cl, new String[] { "javabar" }); |
244 m = ModuleHelper.ModuleObject("modulejavapkgTwo", cl, new String[] { "javabar" }); |
245 assertNotNull(m, "Module should not be null"); |
245 assertNotNull(m, "Module should not be null"); |
246 ModuleHelper.DefineModule(m, "9.0", "modulejavapkgTwo", new String[] { "javabar" }); |
246 ModuleHelper.DefineModule(m, false, "9.0", "modulejavapkgTwo", new String[] { "javabar" }); |
247 |
247 |
248 // Package named "java" defined to the boot class loader, should be ok |
248 // Package named "java" defined to the boot class loader, should be ok |
249 // m's type is a java.lang.Object, module is java.base |
249 // m's type is a java.lang.Object, module is java.base |
250 // java.base module is defined to the boot loader |
250 // java.base module is defined to the boot loader |
251 ClassLoader boot_loader = m.getClass().getClassLoader(); |
251 ClassLoader boot_loader = m.getClass().getClassLoader(); |
252 m = ModuleHelper.ModuleObject("modulejavapkgThree", boot_loader, new String[] { "java/foo" }); |
252 m = ModuleHelper.ModuleObject("modulejavapkgThree", boot_loader, new String[] { "java/foo" }); |
253 assertNotNull(m, "Module should not be null"); |
253 assertNotNull(m, "Module should not be null"); |
254 ModuleHelper.DefineModule(m, "9.0", "modulejavapkgThree", new String[] { "java/foo" }); |
254 ModuleHelper.DefineModule(m, false, "9.0", "modulejavapkgThree", new String[] { "java/foo" }); |
255 |
255 |
256 // Package named "java" defined to the platform class loader, should be ok |
256 // Package named "java" defined to the platform class loader, should be ok |
257 // java.sql module defined to the platform class loader. |
257 // java.sql module defined to the platform class loader. |
258 java.sql.Time jst = new java.sql.Time(45 * 1000); |
258 java.sql.Time jst = new java.sql.Time(45 * 1000); |
259 ClassLoader platform_loader = jst.getClass().getClassLoader(); |
259 ClassLoader platform_loader = jst.getClass().getClassLoader(); |
260 m = ModuleHelper.ModuleObject("modulejavapkgFour", platform_loader, new String[] { "java/foo" }); |
260 m = ModuleHelper.ModuleObject("modulejavapkgFour", platform_loader, new String[] { "java/foo" }); |
261 assertNotNull(m, "Module should not be null"); |
261 assertNotNull(m, "Module should not be null"); |
262 ModuleHelper.DefineModule(m, "9.0", "modulejavapkgFour", new String[] { "java/foo" }); |
262 ModuleHelper.DefineModule(m, false, "9.0", "modulejavapkgFour", new String[] { "java/foo" }); |
263 |
263 |
264 // module version that is null, should be okay |
264 // module version that is null, should be okay |
265 m = ModuleHelper.ModuleObject("moduleEight", cl, new String[] { "a_package_8" }); |
265 m = ModuleHelper.ModuleObject("moduleEight", cl, new String[] { "a_package_8" }); |
266 assertNotNull(m, "Module should not be null"); |
266 assertNotNull(m, "Module should not be null"); |
267 ModuleHelper.DefineModule(m, null, "moduleEight/here", new String[] { "a_package_8" }); |
267 ModuleHelper.DefineModule(m, false, null, "moduleEight/here", new String[] { "a_package_8" }); |
268 |
268 |
269 // module version that is "", should be okay |
269 // module version that is "", should be okay |
270 m = ModuleHelper.ModuleObject("moduleNine", cl, new String[] { "a_package_9" }); |
270 m = ModuleHelper.ModuleObject("moduleNine", cl, new String[] { "a_package_9" }); |
271 assertNotNull(m, "Module should not be null"); |
271 assertNotNull(m, "Module should not be null"); |
272 ModuleHelper.DefineModule(m, "", "moduleNine/here", new String[] { "a_package_9" }); |
272 ModuleHelper.DefineModule(m, false, "", "moduleNine/here", new String[] { "a_package_9" }); |
273 |
273 |
274 // module location that is null, should be okay |
274 // module location that is null, should be okay |
275 m = ModuleHelper.ModuleObject("moduleTen", cl, new String[] { "a_package_10" }); |
275 m = ModuleHelper.ModuleObject("moduleTen", cl, new String[] { "a_package_10" }); |
276 assertNotNull(m, "Module should not be null"); |
276 assertNotNull(m, "Module should not be null"); |
277 ModuleHelper.DefineModule(m, "9.0", null, new String[] { "a_package_10" }); |
277 ModuleHelper.DefineModule(m, false, "9.0", null, new String[] { "a_package_10" }); |
278 |
278 |
279 // module location that is "", should be okay |
279 // module location that is "", should be okay |
280 m = ModuleHelper.ModuleObject("moduleEleven", cl, new String[] { "a_package_11" }); |
280 m = ModuleHelper.ModuleObject("moduleEleven", cl, new String[] { "a_package_11" }); |
281 assertNotNull(m, "Module should not be null"); |
281 assertNotNull(m, "Module should not be null"); |
282 ModuleHelper.DefineModule(m, "9.0", "", new String[] { "a_package_11" }); |
282 ModuleHelper.DefineModule(m, false, "9.0", "", new String[] { "a_package_11" }); |
283 } |
283 } |
284 |
284 |
285 static class MyClassLoader extends ClassLoader { } |
285 static class MyClassLoader extends ClassLoader { } |
286 } |
286 } |