Author: mbenson
Date: Sun Mar 20 16:55:24 2011
New Revision: 1083502

URL: http://svn.apache.org/viewvc?rev=1083502&view=rev
Log:
test @Nonbinding support

Modified:
    commons/proper/lang/trunk/pom.xml
    
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java

Modified: commons/proper/lang/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/pom.xml?rev=1083502&r1=1083501&r2=1083502&view=diff
==============================================================================
--- commons/proper/lang/trunk/pom.xml (original)
+++ commons/proper/lang/trunk/pom.xml Sun Mar 20 16:55:24 2011
@@ -428,6 +428,13 @@
       <version>2.5.2</version>
       <scope>test</scope>
     </dependency>
+
+    <dependency>
+      <groupId>javax.enterprise</groupId>
+      <artifactId>cdi-api</artifactId>
+      <version>1.0-SP1</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <properties>

Modified: 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java?rev=1083502&r1=1083501&r2=1083502&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java
 (original)
+++ 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java
 Sun Mar 20 16:55:24 2011
@@ -34,6 +34,10 @@ import java.lang.reflect.Field;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
+import java.util.Collection;
+import java.util.Map;
+
+import javax.enterprise.util.Nonbinding;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -116,6 +120,7 @@ public class AnnotationUtilsTest {
             type = Object.class,
             types = { Object.class }
     )
+    @Blah(foo = 6, bar = "x")
     public Object dummy1;
 
     @TestAnnotation(
@@ -192,6 +197,7 @@ public class AnnotationUtilsTest {
             type = Object.class,
             types = { Object.class }
     )
+    @Blah(foo = 6, bar = "y")
     public Object dummy2;
 
     @TestAnnotation(
@@ -293,6 +299,7 @@ public class AnnotationUtilsTest {
             type = Object.class,
             types = { Object.class }
     )
+    @Blah(foo = 7, bar = "x")
     public Object dummy3;
 
     @NestAnnotation(
@@ -319,7 +326,6 @@ public class AnnotationUtilsTest {
             type = Object[].class,
             types = { Object[].class }
     )
-
     public Object dummy4;
 
     @Target(FIELD)
@@ -380,6 +386,15 @@ public class AnnotationUtilsTest {
         MOE, LARRY, CURLY, JOE, SHEMP;
     }
 
+    @Retention(RUNTIME)
+    @Target(FIELD)
+    public @interface Blah {
+        int foo();
+
+        @Nonbinding
+        String bar();
+    }
+
     private Field field1;
     private Field field2;
     private Field field3;
@@ -497,4 +512,13 @@ public class AnnotationUtilsTest {
         assertTrue(toString.contains("timeout=666000"));
         assertTrue(toString.contains(", "));
     }
+
+    @Test
+    public void testNonbinding() throws Exception {
+        Blah blah1 = field1.getAnnotation(Blah.class);
+        Blah blah2 = field2.getAnnotation(Blah.class);
+        Blah blah3 = field3.getAnnotation(Blah.class);
+        assertTrue(AnnotationUtils.equals(blah1, blah2));
+        assertFalse(AnnotationUtils.equals(blah1, blah3));
+    }
 }


Reply via email to