return delegates.isEmpty() ? currentLoader : new DelegatingClassLoader(currentLoader, delegates);
@Test(expected = ClassNotFoundException.class) public void shouldNotClassIfNoDelegateCanFindIt() throws Exception { DelegatingClassLoader classLoader = new DelegatingClassLoader(null, Arrays.asList(EMPTY_URL_CLASS_LOADER)); classLoader.loadClass(DelegatingClassLoaderTest.class.getName()); }
return delegates.isEmpty() ? currentLoader : new DelegatingClassLoader(currentLoader, delegates);
@Test public void shouldFindClassIfParentCanFindIt() throws Exception { DelegatingClassLoader classLoader = new DelegatingClassLoader(DelegatingClassLoaderTest.class.getClassLoader(), Arrays.asList(EMPTY_URL_CLASS_LOADER)); assertNotNull(classLoader.loadClass(DelegatingClassLoaderTest.class.getName())); } }
return delegatingLoaders.isEmpty() ? currentLoader : new DelegatingClassLoader(currentLoader, delegatingLoaders);
@Test public void shouldFindClassIfOneDelegateCanFindIt() throws Exception { DelegatingClassLoader classLoader = new DelegatingClassLoader(null, Arrays.asList(EMPTY_URL_CLASS_LOADER, DelegatingClassLoaderTest.class.getClassLoader())); assertNotNull(classLoader.loadClass(DelegatingClassLoaderTest.class.getName())); }
@Test(expected = IllegalArgumentException.class ) public void shouldNotAllowNullDelegates() throws Exception { new DelegatingClassLoader(null, null); }
@Test public void shouldAllowNullParent() throws Exception { new DelegatingClassLoader(null, Collections.<ClassLoader>emptyList()); }