Author: scabanovich
Date: 2011-08-04 16:15:10 -0400 (Thu, 04 Aug 2011)
New Revision: 33603
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestNamed.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestS.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/DeploymentProblemsValidationTests.java
Log:
JBIDE-9452
https://issues.jboss.org/browse/JBIDE-9452
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestNamed.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestNamed.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestNamed.java 2011-08-04
20:15:10 UTC (rev 33603)
@@ -0,0 +1,54 @@
+package org.jboss.jsr299.tck.tests.jbt.lookup.duplicateName;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+public class TestNamed {
+
+ @Inject String s; // OK//
+ @Inject @Named String foo3; // OK
+ @Inject @Named("foo3") String s1; // OK
+
+ @Inject @Named String xyz; // OK
+ @Inject @Named("xyz") String s2; // OK
+
+ @Inject @Named String abc; // OK
+ @Inject @Named("abc") String s3; // OK
+
+ @Inject @Named String foo; // OK
+ @Inject @Named("foo") String s4; // OK
+
+ @Inject @Named String unknownName; // Unsatisfied
+ @Inject @Named("unknownName") String unknownName1; // Unsatisfied
+
+ @Inject public void doSmth(@Named("foo4") String foo8) {} // Ambiguous: foo4,
foo4(), foo5(), foo6()
+ @Inject @Named("foo4") String s5; // Ambiguous: foo4, foo4(), foo5(), foo6()
+
+ @Produces @TestS // OK
+ public String foo() {return "";}
+
+ @Produces @TestS @Named("abc") // OK
+ public String foo1;
+
+ @Produces @Named("xyz") // OK
+ public String foo2;
+
+ @Produces @Named // OK
+ public String foo3() {return "";}
+
+ @Produces @Named // Duplicate EL name
+ public String foo4() {return "";}
+
+ @Produces @Named("foo4") // Duplicate EL name
+ public String foo5() {return "";}
+
+ @Produces @TestS @Named("foo4") // Duplicate EL name
+ public String foo6() {return "";}
+
+ @Produces @TestS // Duplicate EL name
+ public String foo4;
+
+ @Produces // OK
+ public String foo7() {return "";}
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestNamed.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestS.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestS.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestS.java 2011-08-04
20:15:10 UTC (rev 33603)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.jbt.lookup.duplicateName;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Stereotype;
+import javax.inject.Named;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Stereotype
+@Named
+@Target({ TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface TestS {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/lookup/duplicateName/TestS.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/DeploymentProblemsValidationTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/DeploymentProblemsValidationTests.java 2011-08-04
20:07:54 UTC (rev 33602)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/DeploymentProblemsValidationTests.java 2011-08-04
20:15:10 UTC (rev 33603)
@@ -49,6 +49,11 @@
AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 34);
}
+ public void testAmbiguousDependencyWithNamed() throws Exception {
+ IFile file =
tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/jbt/lookup/duplicateName/TestNamed.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 9, 25, 26);
+ }
+
/**
* 5.2.1. Unsatisfied and ambiguous dependencies
* - If an unsatisfied dependency exists, the container automatically detects the
problem and treats it as a deployment problem.
@@ -62,6 +67,15 @@
AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 34);
}
+ public void testUnsatisfiedDependencyWithNamed() throws Exception {
+ IFile file =
tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/jbt/lookup/duplicateName/TestNamed.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 22, 23);
+ int[] lines = {10, 11, 13, 14, 16, 17};
+ for (int i: lines) {
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, i);
+ }
+ }
+
/**
* CDI validator should not complain if there ambiguous dependencies for @Inject
Instance<[type]>
* See
https://issues.jboss.org/browse/JBIDE-7949