mirror of
https://github.com/dmulloy2/ProtocolLib.git
synced 2025-02-17 13:01:43 +01:00
parent
18c2b389a4
commit
7217b11ba7
@ -75,12 +75,6 @@ final class CachedPackage {
|
||||
return source.loadClass(combine(packageName, className));
|
||||
}
|
||||
|
||||
public Class<?> requireClass(String className) throws ClassNotFoundException {
|
||||
String canonicalName = combine(packageName, className);
|
||||
return source.loadClass(canonicalName)
|
||||
.orElseThrow(() -> new ClassNotFoundException(className));
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the class object of a specific class in the current package.
|
||||
*
|
||||
@ -96,7 +90,7 @@ final class CachedPackage {
|
||||
}
|
||||
|
||||
for (String alias : aliases) {
|
||||
clazz = resolveClass(className);
|
||||
clazz = resolveClass(alias);
|
||||
if (clazz.isPresent()) {
|
||||
return clazz;
|
||||
}
|
||||
|
@ -0,0 +1,37 @@
|
||||
package com.comphenix.protocol.utility;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class CachedPackageTest {
|
||||
private CachedPackage pack;
|
||||
|
||||
@BeforeEach
|
||||
public void prepare() {
|
||||
ClassSource source = ClassSource.fromClassLoader();
|
||||
this.pack = new CachedPackage("java.lang", source);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPackageClass() {
|
||||
Optional<Class<?>> result = pack.getPackageClass("Object");
|
||||
assertTrue(result.isPresent());
|
||||
assertEquals(result.get(), Object.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUsingAliases() {
|
||||
Optional<Class<?>> result = pack.getPackageClass("NOT_A_CLASS", "Object");
|
||||
assertTrue(result.isPresent());
|
||||
assertEquals(result.get(), Object.class);
|
||||
|
||||
result = pack.getPackageClass("NOT_A_CLASS", "STILL_NOT_A_CLASS", "Object");
|
||||
assertTrue(result.isPresent());
|
||||
assertEquals(result.get(), Object.class);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user