@AndroidIncompatible // no concept of separate ClassLoaders public void testDecoupledLoader() { FinalizableReferenceQueue.DecoupledLoader decoupledLoader = new FinalizableReferenceQueue.DecoupledLoader() { @Override URLClassLoader newLoader(URL base) { return new DecoupledClassLoader(new URL[] { base }); } }; Class<?> finalizerCopy = decoupledLoader.loadFinalizer(); assertNotNull(finalizerCopy); assertNotSame(Finalizer.class, finalizerCopy); assertNotNull(FinalizableReferenceQueue.getStartFinalizer(finalizerCopy)); }
public void testDecoupledLoader() { FinalizableReferenceQueue.DecoupledLoader decoupledLoader = new FinalizableReferenceQueue.DecoupledLoader() { @Override URLClassLoader newLoader(URL base) { return new DecoupledClassLoader(new URL[] { base }); } }; Class<?> finalizerCopy = decoupledLoader.loadFinalizer(); assertNotNull(finalizerCopy); assertNotSame(Finalizer.class, finalizerCopy); assertNotNull(FinalizableReferenceQueue.getStartFinalizer(finalizerCopy)); }
@AndroidIncompatible // no concept of separate ClassLoaders public void testDecoupledLoader() { FinalizableReferenceQueue.DecoupledLoader decoupledLoader = new FinalizableReferenceQueue.DecoupledLoader() { @Override URLClassLoader newLoader(URL base) { return new DecoupledClassLoader(new URL[] {base}); } }; Class<?> finalizerCopy = decoupledLoader.loadFinalizer(); assertNotNull(finalizerCopy); assertNotSame(Finalizer.class, finalizerCopy); assertNotNull(FinalizableReferenceQueue.getStartFinalizer(finalizerCopy)); }
@Override protected synchronized Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { // Force Finalizer to load from this class loader, not its parent. if (name.equals(Finalizer.class.getName())) { Class<?> clazz = findClass(name); if (resolve) { resolveClass(clazz); } return clazz; } return super.loadClass(name, resolve); }
public void testFinalizeClassHasNoNestedClases() throws Exception { // Ensure that the Finalizer class has no nested classes. // See https://code.google.com/p/guava-libraries/issues/detail?id=1505 assertEquals(Collections.emptyList(), Arrays.asList(Finalizer.class.getDeclaredClasses())); }
public void testFinalizeClassHasNoNestedClasses() throws Exception { // Ensure that the Finalizer class has no nested classes. // See https://code.google.com/p/guava-libraries/issues/detail?id=1505 assertEquals(Collections.emptyList(), Arrays.asList(Finalizer.class.getDeclaredClasses())); }