[weld-commits] Weld SVN: r4766 - in cdi-tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/tests/deployment/packaging/bundledLibrary and 12 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Sat Nov 7 20:46:01 EST 2009


Author: pete.muir at jboss.org
Date: 2009-11-07 20:46:00 -0500 (Sat, 07 Nov 2009)
New Revision: 4766

Modified:
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/packaging/bundledLibrary/LibraryMissingBeansXmlTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/ObserverTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/typeWithParameters/CheckTypeParametersWhenResolvingObserversTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/interceptorOrder/InterceptorOrderTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/ResolutionByTypeTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/decorator/DecoratorNotResolvedTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/interceptor/InterceptorNotResolvedTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/parameterized/AssignabilityOfRawAndParameterizedTypesTest.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/policy/PolicyAvailabilityTest.java
   cdi-tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
Log:
fix mess in audit

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -41,7 +41,6 @@
       @SpecAssertion(section="8.4", id="b"),
       @SpecAssertion(section="8.1.3", id="d"),
       @SpecAssertion(section="8.1.2", id="f"),
-      @SpecAssertion(section="8.1.2", id="b"),
       @SpecAssertion(section="7.2", id="b")
    })
    public void testDecoratorInvocation()
@@ -63,7 +62,6 @@
       //@SpecAssertion(section="8.4", id="a"),
       @SpecAssertion(section="8.1.3", id="d"),
       @SpecAssertion(section="8.1.2", id="f"),
-      @SpecAssertion(section="8.1.2", id="b"),
       @SpecAssertion(section="7.2", id="kb")
    })
    public void testChainedDecoratorInvocation()

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/packaging/bundledLibrary/LibraryMissingBeansXmlTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/packaging/bundledLibrary/LibraryMissingBeansXmlTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/packaging/bundledLibrary/LibraryMissingBeansXmlTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -56,7 +56,7 @@
 
    @Test(groups = {})
    @SpecAssertions({
-      @SpecAssertion(section = "12.1", id="ca")
+      @SpecAssertion(section = "12.1", id="bbc")
    })
    public void test()
    {

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/ObserverTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/ObserverTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/ObserverTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -19,7 +19,7 @@
 {
    @Test(groups = { "events" })
    @SpecAssertions( {
-      @SpecAssertion(section = "10.2", id = "h"),
+      @SpecAssertion(section = "10.2", id = "i"),
       @SpecAssertion(section = "10.5", id = "aa")
    })
    public void testObserverNotifiedWhenEventTypeAndAllBindingsMatch()

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/typeWithParameters/CheckTypeParametersWhenResolvingObserversTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/typeWithParameters/CheckTypeParametersWhenResolvingObserversTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/typeWithParameters/CheckTypeParametersWhenResolvingObserversTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -52,7 +52,7 @@
 
    @Test(groups = { "events" })
    @SpecAssertions({
-      @SpecAssertion(section = "10.4.1", id = "a"),
+      @SpecAssertion(section = "10.2.1", id = "b"),
       @SpecAssertion(section = "11.3.10", id = "a")
    })
    public void testResolvingChecksTypeParameters()
@@ -64,7 +64,7 @@
    
    @Test(groups = { "events" })
    @SpecAssertions({
-      @SpecAssertion(section = "10.2", id = "h"),
+      @SpecAssertion(section = "10.2.1", id = "a"),
       @SpecAssertion(section = "10.4", id = "aa")
       // FIXME also 10.3.1, which does not yet have spec assertions cataloged
    })

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -131,8 +131,8 @@
    @Test
    @SpecAssertions({
       @SpecAssertion(section="11.5.8", id="c"),
-      @SpecAssertion(section="12.3", id="fb"),
-      @SpecAssertion(section="12.3", id="g")})
+      @SpecAssertion(section="12.3", id="fb")
+   })
       public void testProcessSessionBeanFiredForStatefulSessionBean() {
       assert ProcessBeanObserver.getProcessStatefulSessionBeanEvent() != null;
       validateStatefulSessionBean(ProcessBeanObserver.getProcessStatefulSessionBeanEvent().getAnnotatedBeanClass());

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -231,8 +231,7 @@
    @Test
    @SpecAssertions({
       @SpecAssertion(section = "2.3.5", id = "a"),
-      @SpecAssertion(section = "3.3.2", id = "i"),
-      @SpecAssertion(section = "3.3.3", id = "h")
+      @SpecAssertion(section = "3.3.2", id = "i")
    })
    public void testBindingTypesAppliedToProducerMethodParameters()
    {

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -34,8 +34,7 @@
    @SpecAssertions({
      @SpecAssertion(section = "3.7.1", id = "f"),
      @SpecAssertion(section = "3.7.1", id = "g"),
-     @SpecAssertion(section = "2.3.5", id = "d"),
-     @SpecAssertion(section = "5.6.3", id = "a")
+     @SpecAssertion(section = "2.3.5", id = "d")
    })
    public void testInjectionOfParametersIntoBeanConstructor()
    {

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/interceptorOrder/InterceptorOrderTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/interceptorOrder/InterceptorOrderTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/interceptorOrder/InterceptorOrderTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -15,8 +15,7 @@
 {
    @Test
    @SpecAssertions({
-      @SpecAssertion(section = "9.4", id = "b"),
-      @SpecAssertion(section = "9.5", id = "ea")
+      @SpecAssertion(section = "9.4", id = "b")
    })
    public void testInterceptorsCalledInOrderDefinedByBeansXml()
    {

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/ResolutionByTypeTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/ResolutionByTypeTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/ResolutionByTypeTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -202,8 +202,9 @@
       assert !classes.contains(Sole.class);
    }
 
-   @Test(groups = { "policy" })
-   @SpecAssertion(section = "5.1", id = "a")
+   @Test(groups = { "policy", "rewrite" })
+   // TODO Needs to be rewritten to use injection PLM
+   @SpecAssertion(section = "5.1.4", id = "i")
    public void testPolicyNotAvailableInNonDeploymentArchive() throws Exception
    {
       Set<Bean<Spider>> spiders = getBeans(Spider.class);

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/decorator/DecoratorNotResolvedTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/decorator/DecoratorNotResolvedTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/decorator/DecoratorNotResolvedTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -35,9 +35,9 @@
 public class DecoratorNotResolvedTest extends AbstractJSR299Test
 {
 
-   @Test(groups = { "resolution" })
-   @SpecAssertion(section = "5.2", id = "hb")
-   // WBRI-296
+   @Test(groups = { "resolution", "rewrite" })
+   @SpecAssertion(section = "5.1.4", id = "a")
+   // TODO PLM should check injection, not resolution
    public void testDecoratorNotResolved() 
    {
       Set<Type> types = new HashSet<Type>();

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/interceptor/InterceptorNotResolvedTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/interceptor/InterceptorNotResolvedTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/interceptor/InterceptorNotResolvedTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -35,8 +35,9 @@
 public class InterceptorNotResolvedTest extends AbstractJSR299Test
 {
 
-   @Test(groups = { "resolution" })
-   @SpecAssertion(section = "5.2", id = "hq")
+   @Test(groups = { "resolution", "rewrite" })
+   // TODO PLM should check injection, not resolution
+   @SpecAssertion(section = "5.1.4", id = "b")
    public void testInterceptorNotResolved() 
    {
       Set<Type> types = new HashSet<Type>();

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/parameterized/AssignabilityOfRawAndParameterizedTypesTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/parameterized/AssignabilityOfRawAndParameterizedTypesTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/parameterized/AssignabilityOfRawAndParameterizedTypesTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -37,7 +37,7 @@
 
    @Test(groups = { "resolution" })
    @SpecAssertions({
-      @SpecAssertion(section = "5.2.3", id = "a"),
+      @SpecAssertion(section = "5.2", id = "kb"),
       @SpecAssertion(section = "2.2.1", id = "f"),
       @SpecAssertion(section = "2.2.1", id = "g")
    })
@@ -48,7 +48,7 @@
    }
 
    @Test(groups= {"resolution"})
-   @SpecAssertion(section = "5.2.3", id = "b")
+   @SpecAssertion(section = "5.2.3", id = "ba")
    public void testAssignabilityOfParameterizedTypeWithActualTypesToParameterizedTypeWithActualTypes()
    {
       assert getBeans(new TypeLiteral<Map<Integer, Integer>>(){}).size() == 2;
@@ -74,7 +74,7 @@
    }
 
    @Test(groups = { "resolution" })
-   @SpecAssertion(section = "5.2.3", id = "d")
+   @SpecAssertion(section = "5.2.3", id = "da")
    public void testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcards()
    {
       Set<Bean<Result<? extends Throwable, ? super Exception>>> beans = getBeans(new TypeLiteral<Result<? extends Throwable, ? super Exception>>(){});

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/policy/PolicyAvailabilityTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/policy/PolicyAvailabilityTest.java	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/policy/PolicyAvailabilityTest.java	2009-11-08 01:46:00 UTC (rev 4766)
@@ -39,7 +39,7 @@
 
    @Test(groups = {"policy"})
    @SpecAssertions( { 
-      @SpecAssertion(section = "5.1", id = "b"), 
+      @SpecAssertion(section = "5.1", id = "e"), 
       @SpecAssertion(section = "5.1.1", id = "c"),
       @SpecAssertion(section = "5.1.1", id = "ea"),
       @SpecAssertion(section = "2.6", id = "a"),

Modified: cdi-tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
===================================================================
--- cdi-tck/trunk/impl/src/main/resources/tck-audit-cdi.xml	2009-11-08 00:32:46 UTC (rev 4765)
+++ cdi-tck/trunk/impl/src/main/resources/tck-audit-cdi.xml	2009-11-08 01:46:00 UTC (rev 4766)
@@ -2111,13 +2111,10 @@
   </section>
   
   <section id="5.1.2" title="Enabled and disabled beans">
-    <assertion id="a">
+    <assertion id="a" testable="false">
       <text>A bean is said to be enabled if it is deployed in a bean deployment archive, as defined by Section 12.1, "Bean deployment archives", and it is not a producer method or field of a disabled bean, and it is not specialized by any other enabled bean, as defined in Section 4.3, "Specialization", and either it is not an alternative, or it is a selected alternative of at least one bean deployment archive. Otherwise, the bean is said to be disabled.</text>
+      <note>Tested in 5.1.4</note>
     </assertion>
-    
-    <assertion id="b">
-      <text>Section 3.12, "@New qualified beans" defines a special rule that determines whether a |@New| qualified bean is enabled or disabled. This rule applies as only to |@New| qualified beans, as an exception to the normal rule defined here.</text>
-    </assertion>
   </section>
   
   <section id="5.1.3" title="Inconsistent specialization">
@@ -2127,16 +2124,92 @@
   </section>
   
   <section id="5.1.4" title="Inter-module injection">
-    <assertion id="a">
-      <text>A bean is available for injection in a certain Java EE module or library if the bean is enabled, the bean is either not an alternative, or the module or library is a bean deployment archive and the bean is a selected alternative of the bean deployment archive, and the bean class is required to be accessible to classes in the module or library, according to the class loading requirements of the Java EE platform and Java Servlet specifications.</text>
-    </assertion>
+    <group>
+      <text>A bean is available for injection in a certain Java EE module or library if the bean is not an interceptor or decorator, the bean is enabled, the bean is either not an alternative, or the module or library is a bean deployment archive and the bean is a selected alternative of the bean deployment archive, and the bean class is required to be accessible to classes in the module or library, according to the class loading requirements of the Java EE platform and Java Servlet specifications.</text>
+      
+      <assertion id="a">
+        <text>Check a decorator can not be injected</text>
+      </assertion>
+      
+      <assertion id="b">
+        <text>Check an interceptor can not be injected</text>
+      </assertion>
+      
+      <assertion id="c">
+        <text>Check an enabled managed bean can be injected</text> 
+      </assertion>
+      
+      <assertion id="d">
+        <text>Check an enabled session bean can be injected</text> 
+      </assertion>
+      
+      <assertion id="e">
+        <text>Check an enabled producer field can be injected</text> 
+      </assertion>
+      
+      <assertion id="f">
+        <text>Check an enabled producer method can be injected</text> 
+      </assertion>
+      
+      <assertion id="g">
+        <text>Check producer method of a disabled bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="h">
+        <text>Check producer field of a disabled bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="i">
+        <text>Check a disabled managed bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="j">
+        <text>Check a disabled session bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="k">
+        <text>Check a specialized session bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="l">
+        <text>Check a specialized managed bean is not injectable</text> 
+      </assertion>
+      
+      <assertion id="m">
+        <text>Check a specialized producer field is not injectable</text> 
+      </assertion>
+      
+      <assertion id="n">
+        <text>Check a specialized producer method is not injectable</text> 
+      </assertion>
+      
+      <assertion id="o">
+        <text>Check a selected alternative is injected for a managed bean</text> 
+      </assertion>
+      
+      <assertion id="p">
+        <text>Check a selected alternative is injected for a session bean</text> 
+      </assertion>
+      
+    </group>
     
-    <assertion id="b">
+    <group>
       <text>For a custom implementation of the |Bean| interface defined in Section 11.1, "The Bean interface, the container calls |getBeanClass()| to determine the bean class of the bean and |InjectionPoint.getMember()| and then |Member.getDeclaringClass()| to determine the class that declares an injection point.</text>
-    </assertion>
+      <assertion id="d">
+        <text>Check |Bean.getBeanClass()| is used to determine the bean class</text>
+      </assertion>
+      
+      <assertion id="e">
+        <text>Check |InjectionPoint.getMember().getDeclaringClass()| is used to determine the class declaring the injection point</text>
+      </assertion>
+    </group>
   </section>
 
-  <section id="5.2" title="Typesafe resolution">  
+  <section id="5.2" title="Typesafe resolution">
+  
+    <assertion id="hc" implied="true">
+      <text>Check multiple types resolve to a single getBeans()</text>
+    </assertion>  
     <group>
       <text>A bean is assignable to a given injection point if the bean has a bean type that matches the required type.  For this purpose, primitive types are considered to match their corresponding wrapper types in |java.lang| and array types are considered to match only if their element types are identical. Parameterized and raw types are considered to match if they are identical or if the bean type is assignable to the required type, as defined in Section 5.2.3, "Assignability of raw and parameterized types".</text>
               
@@ -2224,29 +2297,46 @@
   </section>
 
   <section id="5.2.3" title="Assignability of raw and parameterized types">
-    <assertion id="a">
-      <text>A parameterized bean type is considered assignable to a raw required type if the raw types are identical and all type parameters of the bean type are either unbounded type variables or |java.lang.Object|.</text>
-    </assertion>
+  
+    <group>
+      <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter: the required type parameter and the bean type parameter are actual types with identical raw type, and, if the type is parameterized, the bean type parameter is assignable to the required type parameter according to these rules, or the required type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to or assignable from the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the required type parameter is an actual type, the bean type parameter is a type variable and the actual typ!
 e is as- signable to the upper bound, if any, of the type variable, or the required type parameter and the bean type parameter are both type variables and the upper bound of the required type parameter is assignable to the upper bound, if any, of the bean type parameter.</text>
+      <assertion id="aa">
+        <text>Check all type parameters of the bean type and required type are unbounded type variables.</text>
+      </assertion>
+      
+      <assertion id="ab">
+        <text>Check all type parameters of the bean type and required type are |java.lang.Object|s.</text>
+      </assertion>
 
-    <assertion id="b">
-      <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter the required type parameter and the bean type parameter are actual types with identical raw type, and, if the type is parameterized, the bean type parameter is assignable to the required type according to these rules.</text>
-    </assertion>
+      <assertion id="ba">
+        <text>Check the required type parameter and the bean type parameter are actual types with identical raw type</text>
+      </assertion>
+      
+      <assertion id="bb">
+        <text>Check the required type parameter and the bean type parameter are actual types with identical raw type for nested type parameters</text>
+      </assertion>
+      
+      <assertion id="c">
+        <text>Check the required type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard</text>
+      </assertion>
 
-    <assertion id="c">
-      <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter the required type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard.</text>
-    </assertion>
+      <assertion id="da">
+        <text>Check the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is _assignable to_ the upper bound of the wildcard and assignable from the lower bound of the wildcard</text>
+      </assertion>
+      
+      <assertion id="db">
+        <text>Check the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is _assignable from_ the upper bound of the wildcard and assignable from the lower bound of the wildcard</text>
+      </assertion>
 
-    <assertion id="d">
-    <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard.</text>
-    </assertion>
+      <assertion id="e">
+        <text>Check the required type parameter is an actual type, the bean type parameter is a type variable and the actual type is assignable to the upper bound of the type variable</text>
+      </assertion>
 
-    <assertion id="e">
-      <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter the required type parameter is an actual type, the bean type parameter is a type variable and the actual type is assignable to the upper bound, if any, of the type variable.</text>
-    </assertion>
-
-    <assertion id="f">
-      <text>A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter the required type parameter and the bean type parameter are both type variables and the upper bound of the required type parameter is assignable to the upper bound, if any, of the bean type parameter.</text>
-    </assertion>
+      <assertion id="f">
+        <text>Check the required type parameter and the bean type parameter are both type variables and the upper bound of the required type parameter is assignable to the upper bound of the bean type parameter.</text>
+      </assertion>
+    </group>
+  
   </section>
 
   <section id="5.2.4" title="Primitive types and null values">
@@ -4220,6 +4310,7 @@
     <assertion id="g">
       <text>If a decorator invokes the delegate object at any other time, the invoked method throws an |IllegalStateException|.</text>
     </assertion>
+
   </section>
 
   <section id="8.1.3" title="Decorated types of a decorator">
@@ -4290,7 +4381,51 @@
       <text>For a custom implementation of the Decorator interface defined in Section 11.1.1, "The Decorator interface", the container calls |getDelegateType()|, |getDelegateQualifiers()| and |getDecoratedTypes()| to determine the delegate type and qualifiers and decorated types of the decorator.</text>
     </assertion>
   </section>
+  
+  <section id="8.3.1">
+    <group>
+      <text>A raw bean type is considered assignable to a parameterized delegate type if the raw types are identical and all type parameters of the delegate type are either unbounded type variables or java.lang.Object.</text>
+      
+      <assertion id="a">
+        <text>Check all type parameters are unbounded type variables</text>    
+      </assertion>
+      
+      <assertion id="b">
+        <text>Check all type parameters are Object</text>    
+      </assertion>
+    </group>
+    
+    <group>
+      <text>A parameterized bean type is considered assignable to a parameterized delegate type if they have identical raw type and for each parameter: the delegate type parameter and the bean type parameter are actual types with identical raw type, and, if the type is parameterized, the bean type parameter is assignable to the delegate type parameter according to these rules, or the delegate type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the delegate type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the delegate type parameter and the bean type parameter are both type variables and the upper bound of the bean type parameter !
 is assignable to the upper bound, if any, of the delegate type parameter, or the delegate type parameter is a type variable, the bean type parameter is an actual type, and the actual type is as- signable to the upper bound, if any, of the type variable.</text>
+      
+      <assertion id="c">
+        <text>Check both have identical type parameters</text>
+      </assertion>
+      
+      <assertion id="d">
+        <text>Check nested identical type parameters</text>
+      </assertion>
+      
+      <assertion id="e">
+        <text>Check delegate type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard</text>
+      </assertion>
+      
+      <assertion id="f">
+        <text>Check delegate type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard</text>
+      </assertion>
+      
+      <assertion id="g">
+        <text>Check the delegate type parameter and the bean type parameter are both type variables and the upper bound of the bean type parameter is assignable to the upper bound of the delegate type parameter</text>
+      </assertion>
+      
+      <assertion id="h">
+        <text>Check the delegate type parameter is a type variable, the bean type parameter is an actual type, and the actual type is as- signable to the upper bound of the type variable</text>
+      </assertion>
+    </group>
 
+
+  </section>
+
   <section id="8.4" title="Decorator invocation">
     <assertion id="a">
       <text>Whenever a business method is invoked on an instance of a bean with decorators, the container intercepts the business method invocation and, after processing all interceptors of the method, invokes decorators of the bean. The container searches for the first decorator of the instance that implements the method that is being invoked as a business method.</text>
@@ -4561,12 +4696,14 @@
   </section>
 
   <section id="10.2" title="Observer resolution">   
-    <assertion id="a">
+    <assertion id="a" testable="false">
       <text>The process of matching an event to its observer methods is called observer resolution.  The container considers event type and qualifiers when resolving observers.</text>
+      <note>Statement of intent</note>
     </assertion>
     
-    <assertion id="b">
+    <assertion id="b" testable="false">
       <text>Observer resolution usually occurs at runtime.</text>
+      <note>Describes non-portable behavior</note>
     </assertion>
     
     <assertion id="i">



More information about the weld-commits mailing list