mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-21 21:14:12 +08:00
Merge pull request #1550 from querydsl/safe-class-forname
Update unsafe class names test
This commit is contained in:
commit
ef563684da
@ -73,7 +73,7 @@ public final class ClassPathUtils {
|
||||
*/
|
||||
public static Class<?> safeClassForName(ClassLoader classLoader, String className) {
|
||||
try {
|
||||
if (className.startsWith("com.sun") || className.startsWith("com.apple")) {
|
||||
if (className.startsWith("com.sun.") || className.startsWith("com.apple.")) {
|
||||
return null;
|
||||
} else {
|
||||
return Class.forName(className, true, classLoader);
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
package com.applejuice;
|
||||
|
||||
public class ShouldBeLoaded {
|
||||
}
|
||||
@ -13,8 +13,7 @@
|
||||
*/
|
||||
package com.querydsl.codegen;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
@ -23,7 +22,6 @@ import org.junit.Test;
|
||||
|
||||
import com.SomeClass;
|
||||
|
||||
|
||||
public class ClassPathUtilsTest {
|
||||
|
||||
@Test
|
||||
@ -40,4 +38,16 @@ public class ClassPathUtilsTest {
|
||||
assertFalse(classes.isEmpty());
|
||||
assertEquals("XXX", SomeOtherClass2.property);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void SafeClassForName() {
|
||||
assertNull(safeForName("com.sun.nio.file.ExtendedOpenOption"));
|
||||
assertNotNull(safeForName("com.suntanning.ShouldBeLoaded"));
|
||||
assertNotNull(safeForName("com.applejuice.ShouldBeLoaded"));
|
||||
}
|
||||
|
||||
private Class<?> safeForName(String className) {
|
||||
return ClassPathUtils.safeClassForName(ClassPathUtilsTest.class.getClassLoader(), className);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
package com.suntanning;
|
||||
|
||||
public class ShouldBeLoaded {
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user