[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