diff options
author | mwebster <mwebster> | 2006-07-30 18:20:50 +0000 |
---|---|---|
committer | mwebster <mwebster> | 2006-07-30 18:20:50 +0000 |
commit | eb31ec6c3d7016f7b57210f61c27daa54118c263 (patch) | |
tree | fc14cf1f26ffabd6de1c00acdbe0fbc1c6672589 /runtime/testsrc/org | |
parent | 50d13c720a2734330c043f45b457483960deb99a (diff) | |
download | aspectj-eb31ec6c3d7016f7b57210f61c27daa54118c263.tar.gz aspectj-eb31ec6c3d7016f7b57210f61c27daa54118c263.zip |
Bug 113948 "Repackage AspectJ" (move module root suites out of default package)
Diffstat (limited to 'runtime/testsrc/org')
-rw-r--r-- | runtime/testsrc/org/aspectj/runtime/RuntimeModuleTests.java | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/runtime/testsrc/org/aspectj/runtime/RuntimeModuleTests.java b/runtime/testsrc/org/aspectj/runtime/RuntimeModuleTests.java new file mode 100644 index 000000000..c9bfe88b9 --- /dev/null +++ b/runtime/testsrc/org/aspectj/runtime/RuntimeModuleTests.java @@ -0,0 +1,86 @@ +package org.aspectj.runtime; +/* ******************************************************************* + * Copyright (c) 1999-2001 Xerox Corporation, + * 2002 Palo Alto Research Center, Incorporated (PARC). + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Xerox/PARC initial implementation + * ******************************************************************/ + +import java.io.*; + +import org.aspectj.lang.*; +import org.aspectj.runtime.reflect.JoinPointImplTest; +import org.aspectj.runtime.reflect.RuntimePerformanceTest; +import org.aspectj.runtime.reflect.SignatureTest; + +import junit.framework.*; + +public class RuntimeModuleTests extends TestCase { + + public static TestSuite suite() { + TestSuite suite = new TestSuite(RuntimeModuleTests.class.getName()); + suite.addTestSuite(RuntimeModuleTests.class); // minimum 1 test (testNothing) + suite.addTestSuite(SignatureTest.class); + suite.addTestSuite(JoinPointImplTest.class); + suite.addTestSuite(RuntimePerformanceTest.class); + return suite; + } + + public RuntimeModuleTests(String name) { super(name); } + + public void testNoAspectBoundException() { + RuntimeException fun = new RuntimeException("fun"); + NoAspectBoundException nab = new NoAspectBoundException("Foo", fun); + assertEquals(fun,nab.getCause()); + } + + public void testSoftExceptionPrintStackTrace() { + // let's see +// Throwable t = new Error("xyz"); +// new SoftException(t).printStackTrace(); + + // save to specified PrintStream + ByteArrayOutputStream sink = new ByteArrayOutputStream(); + PrintStream out = new PrintStream(sink); + new SoftException(new Error("xyz")).printStackTrace(out); + String s = new String(sink.toByteArray()); + out.flush(); + checkSoftExceptionString(s); + + // save to specified PrintWriter + sink = new ByteArrayOutputStream(); + PrintWriter pout = new PrintWriter(sink); + new SoftException(new Error("xyz")).printStackTrace(pout); + pout.flush(); + s = new String(sink.toByteArray()); + checkSoftExceptionString(s); + + // check System.err redirect + PrintStream systemErr = System.err; + try { + sink = new ByteArrayOutputStream(); + out = new PrintStream(sink); + System.setErr(out); + new SoftException(new Error("xyz")).printStackTrace(); + out.flush(); + s = new String(sink.toByteArray()); + checkSoftExceptionString(s); + } finally { + System.setErr(systemErr); + } + } + + + static void checkSoftExceptionString(String s) { + assertTrue(-1 != s.indexOf("SoftException")); + assertTrue(-1 != s.indexOf("Caused by: java.lang.Error")); + assertTrue(-1 != s.indexOf("xyz")); + assertTrue(-1 != s.indexOf("testSoftExceptionPrintStackTrace")); + } +} |