|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import org.aspectj.testing.Tester;
-
- /** @testcase for PR520 - NAB? */
- public class PR520 {
- public static void main(String[] args) {
- PR520 me = new PR520();
- me.testValidThreeArgumentCall() ;
- me.testValidThreeArgumentCallTwo();
- Tester.checkAllEvents();
- }
-
- public void testValidThreeArgumentCall() {
- for (int i = 0; i < Logger.PRIORITIES.length; i++) {
- Logger.log(Logger.PRIORITIES[i],
- Logger.API, "context=word_" + i);
- }
- }
-
- public void testValidThreeArgumentCallTwo() {
- Logger.log( Logger.EXCEPTION, Logger.API, "context=EXCEPTION" );
- Logger.log( Logger.DEBUG, Logger.API, "context=DEBUG" );
- Logger.log( Logger.DEBUG, Logger.API, "context=DEBUG-Exception",
- new Exception( "bad bad boy" ) );
- }
- public static void signal(String s, String context) {
- signal(context + ": " + s);
- }
- public static void signal(String s) {
- System.err.println(s);
- Tester.event(s);
- }
- private static final String[] EXPECTED;
- static {
- EXPECTED = new String[]
- { "context=word_0"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=word_1"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=word_2"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=word_3"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=word_4"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=EXCEPTION"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=DEBUG"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String))"
- , "context=DEBUG-Exception"
- , "call(void Logger.log(Logger.ChromePriority, Unknown, String, Exception))"
- };
- Tester.expectEventsInString(EXPECTED);
- }
- }
-
- class Unknown { }
- class Logger {
- static class ChromePriority { }
- public static final ChromePriority DEBUG;
- public static final ChromePriority EXCEPTION;
- public static final ChromePriority FATAL;
- public static final ChromePriority INFO;
- public static final ChromePriority WARN;
- public static final Unknown API;
- public static final Logger.ChromePriority[] PRIORITIES;
-
- static {
- API = new Unknown();
- PRIORITIES = new Logger.ChromePriority[ 5 ];
- DEBUG = new ChromePriority();
- EXCEPTION = new ChromePriority();
- FATAL = new ChromePriority();
- INFO = new ChromePriority();
- WARN = new ChromePriority();
- PRIORITIES[ 0 ] = Logger.DEBUG;
- PRIORITIES[ 1 ] = Logger.EXCEPTION;
- PRIORITIES[ 2 ] = Logger.FATAL;
- PRIORITIES[ 3 ] = Logger.INFO;
- PRIORITIES[ 4 ] = Logger.WARN;
- }
- public static void log(ChromePriority p, Unknown q,
- String message, Exception e) {
- PR520.signal(message);
- }
- public static void log(ChromePriority p, Unknown q,
- String message) {
- PR520.signal(message);
- }
- }
-
- aspect LoggerCategoryCreator {
-
- pointcut allLoggingCalls()
- : call(public void Logger.log(..));
-
- void around(): allLoggingCalls() {
- // s.b. no proceed() (i.e., replace) but testing invocation
- proceed();
- PR520.signal(thisJoinPointStaticPart.toString());
- }
- }
|