Author: dblevins
Date: Sat Mar 22 20:20:48 2014
New Revision: 1580309

URL: http://svn.apache.org/r1580309
Log:
Test TOMEE-1149, observe both event and after event in same object

Modified:
    
tomee/tomee/trunk/container/openejb-loader/src/test/java/org/apache/openejb/loader/EventTest.java

Modified: 
tomee/tomee/trunk/container/openejb-loader/src/test/java/org/apache/openejb/loader/EventTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-loader/src/test/java/org/apache/openejb/loader/EventTest.java?rev=1580309&r1=1580308&r2=1580309&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-loader/src/test/java/org/apache/openejb/loader/EventTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-loader/src/test/java/org/apache/openejb/loader/EventTest.java
 Sat Mar 22 20:20:48 2014
@@ -37,6 +37,7 @@ public class EventTest {
         final SystemInstance s = SystemInstance.get();
         s.addObserver(new AfterSimpleObserver());
         s.addObserver(new SimpleObserver());
+        s.addObserver(new BlueObserver());
     }
 
     @Test
@@ -61,6 +62,17 @@ public class EventTest {
         );
     }
 
+    @Test
+    public void observeBoth() {
+        final SystemInstance s = SystemInstance.get();
+
+        assertEvent(s.fireEvent(new BlueEvent()).observed,
+                BlueObserver.blue,
+                BlueObserver.afterBlue
+        );
+
+    }
+
     public static class ColorEvent {
         final List<String> observed = new ArrayList<String>();
     }
@@ -71,6 +83,9 @@ public class EventTest {
     public static class GreenEvent extends ColorEvent {
     }
 
+    public static class BlueEvent extends ColorEvent {
+    }
+
     public static class SquareEvent {
         final List<String> observed = new ArrayList<String>();
     }
@@ -120,6 +135,21 @@ public class EventTest {
         }
     }
 
+    public static class BlueObserver {
+
+        private static final String blue = "BlueObserver.blue";
+        private static final String afterBlue = "BlueObserver.afterBlue";
+
+        public void observe(final @Observes BlueEvent event) {
+            event.observed.add(blue);
+        }
+
+        public void observeAfter(final @Observes AfterEvent<BlueEvent> event) {
+            event.getEvent().observed.add(afterBlue);
+        }
+    }
+
+
     private static void assertEvent(List<String> observed, String... expected) 
{
         assertEquals(join(expected), join(observed));
     }


Reply via email to