[webbeans-commits] Webbeans SVN: r2370 - in ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation: event and 1 other directory.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Apr 9 15:17:17 EDT 2009


Author: dallen6
Date: 2009-04-09 15:17:17 -0400 (Thu, 09 Apr 2009)
New Revision: 2370

Added:
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/Updated.java
Log:
Unit tests added from WBRI-225.

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java	2009-04-09 19:17:17 UTC (rev 2370)
@@ -0,0 +1,129 @@
+package org.jboss.webbeans.test.unit.implementation.event;
+
+import javax.event.Event;
+import javax.event.Fires;
+import javax.event.Observes;
+import javax.inject.AnnotationLiteral;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+ at Artifact
+public class SimpleEventTest extends AbstractWebBeansTest
+{
+   private static boolean called_flag_for_BindingType;
+   private static boolean called_flag_for_NonBindingType;
+   
+   private static void initCalledFlag() {
+      called_flag_for_BindingType = false;
+      called_flag_for_NonBindingType = false;
+   }
+   
+   @Override
+   @BeforeMethod
+   public void before() throws Exception
+   {
+      initCalledFlag();
+      super.before();
+   }
+   
+   @Override
+   @AfterMethod
+   public void after() throws Exception
+   {
+      initCalledFlag();
+      super.after();
+   }
+   
+   @Test
+   public void testEventUsingManager()
+   {
+      ManagerImpl manager = getCurrentManager();
+
+      manager.fireEvent("Fired using Manager Interface with AnnotationLiteral.",
+            new AnnotationLiteral<Updated>(){});
+
+      assert called_flag_for_NonBindingType == true;
+      assert called_flag_for_BindingType == true;
+      
+      initCalledFlag();
+      
+      manager.fireEvent("Fired using Manager Interface.");
+      
+      assert called_flag_for_NonBindingType == true;
+      assert called_flag_for_BindingType == false; // not called
+   }
+   
+   @Test
+   public void testEventUsingEvent()
+   {
+      ManagerImpl manager = getCurrentManager();
+
+      App app = manager.getInstanceByType(App.class);
+      
+      app.fireEventByBindingDeclaredAtInjectionPoint();
+      
+      assert called_flag_for_NonBindingType == true;
+      assert called_flag_for_BindingType == true;
+      
+      initCalledFlag();
+      
+      app.fireEventByAnnotationLiteral();
+      
+      assert called_flag_for_NonBindingType == true;
+      assert called_flag_for_BindingType == true;
+      
+      initCalledFlag();
+      
+      app.fireEventNonBindingType();
+      
+      assert called_flag_for_NonBindingType == true;
+      assert called_flag_for_BindingType == false; // not called
+   }
+
+   public static class App
+   {
+      @Fires
+      Event<String> event1;
+      
+      @Fires
+      @Updated
+      Event<String> event2;
+
+      @Fires
+      Event<String> event3;
+
+      public void fireEventByAnnotationLiteral()
+      {
+         event1.fire("Fired using Event Interface with AnnotationLiteral.",
+               new AnnotationLiteral<Updated>(){});
+      }
+      
+      public void fireEventByBindingDeclaredAtInjectionPoint()
+      {
+         event2.fire("Fired using Event Interface with Binding Declared.");
+      }
+      
+      public void fireEventNonBindingType()
+      {
+         event3.fire("Fired using Event Interface with Non-BindingType.");
+      }
+   }
+
+   public static class Receiver
+   {
+      public void receive1(@Observes @Updated String s)
+      {
+         called_flag_for_BindingType = true;
+      }
+
+      public void receive2(@Observes String s)
+      {
+         called_flag_for_NonBindingType = true;
+      }
+   }
+}
\ No newline at end of file


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/Updated.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/Updated.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/Updated.java	2009-04-09 19:17:17 UTC (rev 2370)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.test.unit.implementation.event;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at BindingType
+ at Retention(RUNTIME)
+ at Target( { TYPE, METHOD, FIELD, PARAMETER })
+ at Documented
+ at interface Updated
+{
+
+}


Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/Updated.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the weld-commits mailing list