prepping .intstrument.classloading unit tests for move from .testsuite -> .context
This commit is contained in:
parent
2952609672
commit
9ed180a80d
|
|
@ -16,16 +16,19 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading;
|
package org.springframework.instrument.classloading;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import static org.junit.Assert.assertSame;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
import org.springframework.util.ClassUtils;
|
import org.springframework.util.ClassUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Costin Leau
|
* @author Costin Leau
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public class InstrumentableClassLoaderTests extends TestCase {
|
public class InstrumentableClassLoaderTests {
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testDefaultLoadTimeWeaver() {
|
public void testDefaultLoadTimeWeaver() {
|
||||||
ClassLoader loader = new SimpleInstrumentableClassLoader(ClassUtils.getDefaultClassLoader());
|
ClassLoader loader = new SimpleInstrumentableClassLoader(ClassUtils.getDefaultClassLoader());
|
||||||
ReflectiveLoadTimeWeaver handler = new ReflectiveLoadTimeWeaver(loader);
|
ReflectiveLoadTimeWeaver handler = new ReflectiveLoadTimeWeaver(loader);
|
||||||
|
|
|
||||||
|
|
@ -16,36 +16,33 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading;
|
package org.springframework.instrument.classloading;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import static org.junit.Assert.*;
|
||||||
import org.springframework.test.AssertThrows;
|
|
||||||
|
|
||||||
import java.lang.instrument.ClassFileTransformer;
|
import java.lang.instrument.ClassFileTransformer;
|
||||||
import java.security.ProtectionDomain;
|
import java.security.ProtectionDomain;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for the {@link ReflectiveLoadTimeWeaver} class.
|
* Unit tests for the {@link ReflectiveLoadTimeWeaver} class.
|
||||||
*
|
*
|
||||||
* @author Rick Evans
|
* @author Rick Evans
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public final class ReflectiveLoadTimeWeaverTests extends TestCase {
|
public final class ReflectiveLoadTimeWeaverTests {
|
||||||
|
|
||||||
public void testCtorWithNullClassLoader() throws Exception {
|
@Test(expected=IllegalArgumentException.class)
|
||||||
new AssertThrows(IllegalArgumentException.class) {
|
public void testCtorWithNullClassLoader() {
|
||||||
public void test() throws Exception {
|
new ReflectiveLoadTimeWeaver(null);
|
||||||
new ReflectiveLoadTimeWeaver(null);
|
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCtorWithClassLoaderThatDoesNotExposeAnAddTransformerMethod() throws Exception {
|
@Test(expected=IllegalStateException.class)
|
||||||
new AssertThrows(IllegalStateException.class) {
|
public void testCtorWithClassLoaderThatDoesNotExposeAnAddTransformerMethod() {
|
||||||
public void test() throws Exception {
|
new ReflectiveLoadTimeWeaver(getClass().getClassLoader());
|
||||||
new ReflectiveLoadTimeWeaver(getClass().getClassLoader());
|
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCtorWithClassLoaderThatDoesNotExposeAGetThrowawayClassLoaderMethodIsOkay() throws Exception {
|
@Test
|
||||||
|
public void testCtorWithClassLoaderThatDoesNotExposeAGetThrowawayClassLoaderMethodIsOkay() {
|
||||||
JustAddTransformerClassLoader classLoader = new JustAddTransformerClassLoader();
|
JustAddTransformerClassLoader classLoader = new JustAddTransformerClassLoader();
|
||||||
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(classLoader);
|
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(classLoader);
|
||||||
weaver.addTransformer(new ClassFileTransformer() {
|
weaver.addTransformer(new ClassFileTransformer() {
|
||||||
|
|
@ -56,21 +53,20 @@ public final class ReflectiveLoadTimeWeaverTests extends TestCase {
|
||||||
assertEquals(1, classLoader.getNumTimesGetThrowawayClassLoaderCalled());
|
assertEquals(1, classLoader.getNumTimesGetThrowawayClassLoaderCalled());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAddTransformerWithNullTransformer() throws Exception {
|
@Test(expected=IllegalArgumentException.class)
|
||||||
new AssertThrows(IllegalArgumentException.class) {
|
public void testAddTransformerWithNullTransformer() {
|
||||||
public void test() throws Exception {
|
new ReflectiveLoadTimeWeaver(new JustAddTransformerClassLoader()).addTransformer(null);
|
||||||
new ReflectiveLoadTimeWeaver(new JustAddTransformerClassLoader()).addTransformer(null);
|
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGetThrowawayClassLoaderWithClassLoaderThatDoesNotExposeAGetThrowawayClassLoaderMethodYieldsFallbackClassLoader() throws Exception {
|
@Test
|
||||||
|
public void testGetThrowawayClassLoaderWithClassLoaderThatDoesNotExposeAGetThrowawayClassLoaderMethodYieldsFallbackClassLoader() {
|
||||||
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(new JustAddTransformerClassLoader());
|
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(new JustAddTransformerClassLoader());
|
||||||
ClassLoader throwawayClassLoader = weaver.getThrowawayClassLoader();
|
ClassLoader throwawayClassLoader = weaver.getThrowawayClassLoader();
|
||||||
assertNotNull(throwawayClassLoader);
|
assertNotNull(throwawayClassLoader);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGetThrowawayClassLoaderWithTotallyCompliantClassLoader() throws Exception {
|
@Test
|
||||||
|
public void testGetThrowawayClassLoaderWithTotallyCompliantClassLoader() {
|
||||||
TotallyCompliantClassLoader classLoader = new TotallyCompliantClassLoader();
|
TotallyCompliantClassLoader classLoader = new TotallyCompliantClassLoader();
|
||||||
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(classLoader);
|
ReflectiveLoadTimeWeaver weaver = new ReflectiveLoadTimeWeaver(classLoader);
|
||||||
ClassLoader throwawayClassLoader = weaver.getThrowawayClassLoader();
|
ClassLoader throwawayClassLoader = weaver.getThrowawayClassLoader();
|
||||||
|
|
|
||||||
|
|
@ -16,16 +16,19 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading;
|
package org.springframework.instrument.classloading;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rod Johnson
|
* @author Rod Johnson
|
||||||
|
* @author Chris Beams
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
public class ResourceOverridingShadowingClassLoaderTests extends TestCase {
|
public class ResourceOverridingShadowingClassLoaderTests {
|
||||||
|
|
||||||
private static final String EXISTING_RESOURCE = "org/springframework/instrument/classloading/testResource.xml";
|
private static final String EXISTING_RESOURCE = "org/springframework/instrument/classloading/testResource.xml";
|
||||||
|
|
||||||
|
|
@ -34,41 +37,47 @@ public class ResourceOverridingShadowingClassLoaderTests extends TestCase {
|
||||||
private ResourceOverridingShadowingClassLoader overridingLoader = new ResourceOverridingShadowingClassLoader(thisClassLoader);
|
private ResourceOverridingShadowingClassLoader overridingLoader = new ResourceOverridingShadowingClassLoader(thisClassLoader);
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testFindsExistingResourceWithGetResourceAndNoOverrides() {
|
public void testFindsExistingResourceWithGetResourceAndNoOverrides() {
|
||||||
assertNotNull(thisClassLoader.getResource(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResource(EXISTING_RESOURCE));
|
||||||
assertNotNull(overridingLoader.getResource(EXISTING_RESOURCE));
|
assertNotNull(overridingLoader.getResource(EXISTING_RESOURCE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testDoesNotFindExistingResourceWithGetResourceAndNullOverride() {
|
public void testDoesNotFindExistingResourceWithGetResourceAndNullOverride() {
|
||||||
assertNotNull(thisClassLoader.getResource(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResource(EXISTING_RESOURCE));
|
||||||
overridingLoader.override(EXISTING_RESOURCE, null);
|
overridingLoader.override(EXISTING_RESOURCE, null);
|
||||||
assertNull(overridingLoader.getResource(EXISTING_RESOURCE));
|
assertNull(overridingLoader.getResource(EXISTING_RESOURCE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testFindsExistingResourceWithGetResourceAsStreamAndNoOverrides() {
|
public void testFindsExistingResourceWithGetResourceAsStreamAndNoOverrides() {
|
||||||
assertNotNull(thisClassLoader.getResourceAsStream(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResourceAsStream(EXISTING_RESOURCE));
|
||||||
assertNotNull(overridingLoader.getResourceAsStream(EXISTING_RESOURCE));
|
assertNotNull(overridingLoader.getResourceAsStream(EXISTING_RESOURCE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testDoesNotFindExistingResourceWithGetResourceAsStreamAndNullOverride() {
|
public void testDoesNotFindExistingResourceWithGetResourceAsStreamAndNullOverride() {
|
||||||
assertNotNull(thisClassLoader.getResourceAsStream(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResourceAsStream(EXISTING_RESOURCE));
|
||||||
overridingLoader.override(EXISTING_RESOURCE, null);
|
overridingLoader.override(EXISTING_RESOURCE, null);
|
||||||
assertNull(overridingLoader.getResourceAsStream(EXISTING_RESOURCE));
|
assertNull(overridingLoader.getResourceAsStream(EXISTING_RESOURCE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testFindsExistingResourceWithGetResourcesAndNoOverrides() throws IOException {
|
public void testFindsExistingResourceWithGetResourcesAndNoOverrides() throws IOException {
|
||||||
assertNotNull(thisClassLoader.getResources(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResources(EXISTING_RESOURCE));
|
||||||
assertNotNull(overridingLoader.getResources(EXISTING_RESOURCE));
|
assertNotNull(overridingLoader.getResources(EXISTING_RESOURCE));
|
||||||
assertEquals(1, countElements(overridingLoader.getResources(EXISTING_RESOURCE)));
|
assertEquals(1, countElements(overridingLoader.getResources(EXISTING_RESOURCE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testDoesNotFindExistingResourceWithGetResourcesAndNullOverride() throws IOException {
|
public void testDoesNotFindExistingResourceWithGetResourcesAndNullOverride() throws IOException {
|
||||||
assertNotNull(thisClassLoader.getResources(EXISTING_RESOURCE));
|
assertNotNull(thisClassLoader.getResources(EXISTING_RESOURCE));
|
||||||
overridingLoader.override(EXISTING_RESOURCE, null);
|
overridingLoader.override(EXISTING_RESOURCE, null);
|
||||||
assertEquals(0, countElements(overridingLoader.getResources(EXISTING_RESOURCE)));
|
assertEquals(0, countElements(overridingLoader.getResources(EXISTING_RESOURCE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private int countElements(Enumeration e) {
|
private int countElements(Enumeration<?> e) {
|
||||||
int elts = 0;
|
int elts = 0;
|
||||||
while (e.hasMoreElements()) {
|
while (e.hasMoreElements()) {
|
||||||
e.nextElement();
|
e.nextElement();
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading.glassfish;
|
package org.springframework.instrument.classloading.glassfish;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.lang.instrument.ClassFileTransformer;
|
import java.lang.instrument.ClassFileTransformer;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
|
|
@ -26,16 +28,20 @@ import java.util.List;
|
||||||
|
|
||||||
import javax.persistence.spi.ClassTransformer;
|
import javax.persistence.spi.ClassTransformer;
|
||||||
|
|
||||||
import com.sun.enterprise.loader.InstrumentableClassLoader;
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
import org.easymock.ArgumentsMatcher;
|
import org.easymock.ArgumentsMatcher;
|
||||||
import org.easymock.MockControl;
|
import org.easymock.MockControl;
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
import org.springframework.instrument.classloading.LoadTimeWeaver;
|
import org.springframework.instrument.classloading.LoadTimeWeaver;
|
||||||
|
|
||||||
public class GlassFishLoadTimeWeaverTests extends TestCase {
|
import com.sun.enterprise.loader.InstrumentableClassLoader;
|
||||||
|
|
||||||
private MockControl loaderCtrl;
|
// converting away from old-style EasyMock APIs was problematic with this class
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public class GlassFishLoadTimeWeaverTests {
|
||||||
|
|
||||||
|
private MockControl<InstrumentableClassLoader> loaderCtrl;
|
||||||
private InstrumentableClassLoader loader;
|
private InstrumentableClassLoader loader;
|
||||||
private LoadTimeWeaver ltw;
|
private LoadTimeWeaver ltw;
|
||||||
|
|
||||||
|
|
@ -60,9 +66,10 @@ public class GlassFishLoadTimeWeaverTests extends TestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setUp() throws Exception {
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
loaderCtrl = MockControl.createControl(InstrumentableClassLoader.class);
|
loaderCtrl = MockControl.createControl(InstrumentableClassLoader.class);
|
||||||
loader = (InstrumentableClassLoader) loaderCtrl.getMock();
|
loader = loaderCtrl.getMock();
|
||||||
loaderCtrl.replay();
|
loaderCtrl.replay();
|
||||||
|
|
||||||
ltw = new GlassFishLoadTimeWeaver() {
|
ltw = new GlassFishLoadTimeWeaver() {
|
||||||
|
|
@ -73,11 +80,13 @@ public class GlassFishLoadTimeWeaverTests extends TestCase {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tearDown() throws Exception {
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
loaderCtrl.verify();
|
loaderCtrl.verify();
|
||||||
ltw = null;
|
ltw = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testGlassFishLoadTimeWeaver() {
|
public void testGlassFishLoadTimeWeaver() {
|
||||||
try {
|
try {
|
||||||
ltw = new GlassFishLoadTimeWeaver();
|
ltw = new GlassFishLoadTimeWeaver();
|
||||||
|
|
@ -89,6 +98,7 @@ public class GlassFishLoadTimeWeaverTests extends TestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testGlassFishLoadTimeWeaverClassLoader() {
|
public void testGlassFishLoadTimeWeaverClassLoader() {
|
||||||
try {
|
try {
|
||||||
ltw = new GlassFishLoadTimeWeaver(null);
|
ltw = new GlassFishLoadTimeWeaver(null);
|
||||||
|
|
@ -115,8 +125,9 @@ public class GlassFishLoadTimeWeaverTests extends TestCase {
|
||||||
assertSame(cl4, ltw.getInstrumentableClassLoader());
|
assertSame(cl4, ltw.getInstrumentableClassLoader());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testAddTransformer() {
|
public void testAddTransformer() {
|
||||||
ClassFileTransformer transformer = (ClassFileTransformer) MockControl.createNiceControl(
|
ClassFileTransformer transformer = MockControl.createNiceControl(
|
||||||
ClassFileTransformer.class).getMock();
|
ClassFileTransformer.class).getMock();
|
||||||
loaderCtrl.reset();
|
loaderCtrl.reset();
|
||||||
loader.addTransformer(new ClassTransformerAdapter(transformer));
|
loader.addTransformer(new ClassTransformerAdapter(transformer));
|
||||||
|
|
@ -141,6 +152,7 @@ public class GlassFishLoadTimeWeaverTests extends TestCase {
|
||||||
ltw.addTransformer(transformer);
|
ltw.addTransformer(transformer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testGetThrowawayClassLoader() {
|
public void testGetThrowawayClassLoader() {
|
||||||
loaderCtrl.reset();
|
loaderCtrl.reset();
|
||||||
ClassLoader cl = new URLClassLoader(new URL[0]);
|
ClassLoader cl = new URLClassLoader(new URL[0]);
|
||||||
|
|
|
||||||
|
|
@ -16,50 +16,48 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading.oc4j;
|
package org.springframework.instrument.classloading.oc4j;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import static org.easymock.EasyMock.*;
|
||||||
import org.easymock.AbstractMatcher;
|
import static org.easymock.EasyMock.createMock;
|
||||||
import org.easymock.MockControl;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import org.springframework.test.AssertThrows;
|
|
||||||
|
|
||||||
import java.lang.instrument.ClassFileTransformer;
|
import java.lang.instrument.ClassFileTransformer;
|
||||||
|
import java.lang.instrument.IllegalClassFormatException;
|
||||||
|
import java.security.ProtectionDomain;
|
||||||
|
|
||||||
|
import org.easymock.AbstractMatcher;
|
||||||
|
import org.easymock.MockControl;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for the {@link OC4JClassPreprocessorAdapter} class.
|
* Unit tests for the {@link OC4JClassPreprocessorAdapter} class.
|
||||||
*
|
*
|
||||||
* @author Rick Evans
|
* @author Rick Evans
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public final class OC4JClassPreprocessorAdapterTests extends TestCase {
|
public final class OC4JClassPreprocessorAdapterTests {
|
||||||
|
|
||||||
public void testClassNameIsUnMangledPriorToTransformation() throws Exception {
|
@Test
|
||||||
|
public void testClassNameIsUnMangledPriorToTransformation() throws IllegalClassFormatException {
|
||||||
final byte[] classBytes = "CAFEBABE".getBytes();
|
final byte[] classBytes = "CAFEBABE".getBytes();
|
||||||
final ClassLoader classLoader = getClass().getClassLoader();
|
final ClassLoader classLoader = getClass().getClassLoader();
|
||||||
|
|
||||||
MockControl mockTransformer = MockControl.createControl(ClassFileTransformer.class);
|
ClassFileTransformer transformer = createMock(ClassFileTransformer.class);
|
||||||
ClassFileTransformer transformer = (ClassFileTransformer) mockTransformer.getMock();
|
|
||||||
|
|
||||||
transformer.transform(classLoader, "com/foo/Bar", null, null, classBytes);
|
expect(
|
||||||
mockTransformer.setMatcher(new AbstractMatcher() {
|
transformer.transform(eq(classLoader), eq("com/foo/Bar"), (Class<?>)isNull(), (ProtectionDomain)isNull(), isA(byte[].class))
|
||||||
public boolean matches(Object[] expected, Object[] actual) {
|
).andReturn(classBytes);
|
||||||
return expected[1].equals(actual[1]);
|
replay(transformer);
|
||||||
}
|
|
||||||
});
|
|
||||||
mockTransformer.setReturnValue(classBytes);
|
|
||||||
|
|
||||||
mockTransformer.replay();
|
|
||||||
|
|
||||||
OC4JClassPreprocessorAdapter processor = new OC4JClassPreprocessorAdapter(transformer);
|
OC4JClassPreprocessorAdapter processor = new OC4JClassPreprocessorAdapter(transformer);
|
||||||
byte[] bytes = processor.processClass("com.foo.Bar", classBytes, 0, 0, null, classLoader);
|
byte[] bytes = processor.processClass("com.foo.Bar", classBytes, 0, 0, null, classLoader);
|
||||||
assertNotNull(bytes);
|
assertNotNull(bytes);
|
||||||
|
|
||||||
mockTransformer.verify();
|
verify(transformer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCtorWithNullClassFileTransformer() throws Exception {
|
@Test(expected=IllegalArgumentException.class)
|
||||||
new AssertThrows(IllegalArgumentException.class) {
|
public void testCtorWithNullClassFileTransformer() {
|
||||||
public void test() throws Exception {
|
new OC4JClassPreprocessorAdapter(null);
|
||||||
new OC4JClassPreprocessorAdapter(null);
|
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,30 +16,24 @@
|
||||||
|
|
||||||
package org.springframework.instrument.classloading.oc4j;
|
package org.springframework.instrument.classloading.oc4j;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import org.junit.Test;
|
||||||
import org.springframework.test.AssertThrows;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for the {@link OC4JLoadTimeWeaver} class.
|
* Unit tests for the {@link OC4JLoadTimeWeaver} class.
|
||||||
*
|
*
|
||||||
* @author Rick Evans
|
* @author Rick Evans
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public final class OC4JLoadTimeWeaverTests extends TestCase {
|
public final class OC4JLoadTimeWeaverTests {
|
||||||
|
|
||||||
public void testCtorWithNullClassLoader() throws Exception {
|
@Test(expected=IllegalArgumentException.class)
|
||||||
new AssertThrows(IllegalArgumentException.class) {
|
public void testCtorWithNullClassLoader() {
|
||||||
public void test() throws Exception {
|
new OC4JLoadTimeWeaver(null);
|
||||||
new OC4JLoadTimeWeaver(null);
|
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAddTransformerWithNullTransformer() throws Exception {
|
@Test(expected=IllegalArgumentException.class)
|
||||||
new AssertThrows(IllegalArgumentException.class) {
|
public void testAddTransformerWithNullTransformer() {
|
||||||
public void test() throws Exception {
|
|
||||||
new OC4JLoadTimeWeaver().addTransformer(null);
|
new OC4JLoadTimeWeaver().addTransformer(null);
|
||||||
}
|
|
||||||
}.runTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue