[weld-commits] Weld SVN: r4784 - in cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests: method and 1 other directory.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Sun Nov 8 12:03:48 EST 2009


Author: jharting
Date: 2009-11-08 12:03:48 -0500 (Sun, 08 Nov 2009)
New Revision: 4784

Added:
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Dog.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/DogInterceptor.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Fish.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/FishInterceptor.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/MethodLevelInterceptorTest.java
Log:
Tests for method-level interceptors

Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Dog.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Dog.java	                        (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Dog.java	2009-11-08 17:03:48 UTC (rev 4784)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.interceptors.tests.method;
+
+import javax.interceptor.ExcludeClassInterceptors;
+import javax.interceptor.Interceptors;
+
+ at Interceptors(DogInterceptor.class)
+class Dog
+{
+   public String foo()
+   {
+      return "bar";
+   }
+
+   @ExcludeClassInterceptors
+   public String ping()
+   {
+      return "pong";
+   }
+}

Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/DogInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/DogInterceptor.java	                        (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/DogInterceptor.java	2009-11-08 17:03:48 UTC (rev 4784)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.interceptors.tests.method;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class DogInterceptor
+{
+   @AroundInvoke
+   public Object intercept(InvocationContext ctx) throws Exception {
+      return "Intercepted " + ctx.proceed();
+   }
+}

Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Fish.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Fish.java	                        (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/Fish.java	2009-11-08 17:03:48 UTC (rev 4784)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.interceptors.tests.method;
+
+import javax.interceptor.Interceptors;
+
+class Fish
+{
+   @Interceptors(FishInterceptor.class)
+   public String foo() {
+      return "bar";
+   }
+   
+   @Interceptors(FishInterceptor.class)
+   public String ping() {
+      return "pong";
+   }
+   
+   public String getName() {
+      return "Salmon";
+   }
+}

Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/FishInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/FishInterceptor.java	                        (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/FishInterceptor.java	2009-11-08 17:03:48 UTC (rev 4784)
@@ -0,0 +1,25 @@
+package org.jboss.jsr299.tck.interceptors.tests.method;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class FishInterceptor
+{
+   private static int instanceCount = 0;
+   
+   public FishInterceptor()
+   {
+      instanceCount++;
+   }
+   
+   public static int getInstanceCount()
+   {
+      return instanceCount;
+   }
+
+   @SuppressWarnings("unused")
+   @AroundInvoke
+   public Object intercept(InvocationContext ctx) throws Exception {
+      return "Intercepted " + ctx.proceed();
+   }
+}

Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/MethodLevelInterceptorTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/MethodLevelInterceptorTest.java	                        (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/method/MethodLevelInterceptorTest.java	2009-11-08 17:03:48 UTC (rev 4784)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.jsr299.tck.interceptors.tests.method;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+ at Artifact
+ at SpecVersion(spec = "int", version = "3.1.PFD")
+public class MethodLevelInterceptorTest extends AbstractJSR299Test
+{
+   
+   @Test
+   @SpecAssertions({
+      @SpecAssertion(section = "3", id = "ca"),
+      @SpecAssertion(section = "8", id = "a"),
+      @SpecAssertion(section = "8", id = "d"),
+      @SpecAssertion(section = "8", id = "g"),
+      @SpecAssertion(section = "8", id = "h")
+   })
+   public void testInterceptorCanBeAppliedToMoreThanOneMethod()
+   {
+      Fish fish = getInstanceByType(Fish.class);
+      assert fish.foo().equals("Intercepted bar");
+      assert fish.ping().equals("Intercepted pong");
+      assert fish.getName().equals("Salmon");
+      assert FishInterceptor.getInstanceCount() == 1;
+   }
+   
+   @Test
+   @SpecAssertion(section = "8", id = "j")
+   public void testExcludeClassInterceptors() {
+      assert getInstanceByType(Dog.class).foo().equals("Intercepted bar");
+      assert getInstanceByType(Dog.class).ping().equals("pong");
+   }
+}



More information about the weld-commits mailing list