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));
+ }
}