Author: shane.bryzak(a)jboss.com
Date: 2009-09-21 00:37:58 -0400 (Mon, 21 Sep 2009)
New Revision: 3712
Modified:
tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
Log:
section 6 assertions
Modified: tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-21 03:43:31 UTC (rev
3711)
+++ tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-21 04:37:58 UTC (rev
3712)
@@ -2670,10 +2670,14 @@
<assertion id="e">
<text>Contexts with normal scopes must obey the following rule: Suppose beans
A, B and Z all have normal scopes. Suppose A has an injection point x, and B has an
injection point y. Suppose further that both x and y resolve to bean Z according to the
typesafe resolution algorithm. If a is the current instance of A, and b is the current
instance of B, then both a.x and b.y refer to the same instance of Z. This instance is the
current instance of Z.</text>
+ </assertion>
+
+ <assertion id="ea">
+ <text>All normal scopes must be explicitly declared |@NormalScope|, to
indicate to the container that a client proxy is required.</text>
</assertion>
- <assertion id="f" testable="false">
- <text>All pseudo-scopes must be explicitly declared
|@ScopeType(normal=false)|, to indicate to the container that no client proxy is
required</text>
+ <assertion id="fa" testable="false">
+ <text>All pseudo-scopes must be explicitly declared |@Scope|, to indicate to
the container that no client proxy is required.</text>
<note>A statement of intent</note>
</assertion>
@@ -2685,15 +2689,15 @@
<section id="6.4" title="Dependent pseudo-scope">
<assertion id="a">
- <text>When a bean is declared to have |@Dependent| scope, no injected
instance of the bean is ever shared between multiple injection points</text>
+ <text>When a bean is declared to have |@Dependent| scope, no injected
instance of the bean is ever shared between multiple injection points.</text>
</assertion>
<assertion id="b">
- <text>When a bean is declared to have |@Dependent| scope, any injected
instance of the bean is bound to the lifecycle of the bean, servlet or EJB into which it
is injected</text>
+ <text>When a bean is declared to have |@Dependent| scope, any injected
instance of the bean is bound to the lifecycle of the bean, servlet or EJB into which it
is injected.</text>
</assertion>
- <assertion id="c">
- <text>When a bean is declared to have |@Dependent| scope, any instance of the
bean that is used to evaluate a Unified EL expression exists to service that evaluation
only</text>
+ <assertion id="ca">
+ <text>When a bean is declared to have |@Dependent| scope, when a unified EL
expression in a JSF or JSP page that refers to the bean by its EL name is evaluated, at
most one instance of the bean is instantiated. This instance exists to service just a
single evaluation of the EL expression. It is reused if the bean EL name appears multiple
times in the EL expression, but is never reused when the EL expression is evaluated again,
or when another EL expression is evaluated.</text>
</assertion>
<assertion id="da">
@@ -2813,13 +2817,23 @@
<assertion id="eee">
- <text>The container must ensure that all |@Dependent| scoped contextual
instances created during an EL expression evaluation are destroyed when the evaluation
completes.</text>
+ <text>The container must ensure that all |@Dependent| scoped contextual
instances created during evaluation of a Unified EL expression in a JSP or JSF page are
destroyed when the evaluation completes.</text>
</assertion>
<assertion id="e" testable="false">
- <text>The container is permitted to destroy any |@Dependent| scoped
contextual instance at any time if the instance is no longer referenced by the application
(excluding weak, soft and phantom references)</text>
+ <text>The container is permitted to destroy any |@Dependent| scoped
contextual instance at any time if the instance is no longer referenced by the application
(excluding weak, soft and phantom references).</text>
<note>In other words this is unspecified</note>
</assertion>
+ </section>
+
+ <section id="6.4.3" title="Dependent pseudo-scope and Unified
EL">
+ <assertion id="a">
+ <text>Suppose a Unified EL expression in a JSF or JSP page refers to a bean
with scope |@Dependent| by its EL name. Each time the EL expression is evaluated the bean
is instantiated at most once, and the resulting instance is reused for every appearance of
the EL name, and the resulting instance is destroyed when the evaluation
completes.</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>Portable extensions that integrate with the container via Unified EL
should also ensure that these rules are enforced.</text>
+ </assertion>
</section>
<section id="6.5" title="Contextual instances and contextual
references">
@@ -2873,7 +2887,7 @@
</assertion>
<assertion id="d">
- <text>The container must ensure that every injection point of type
|InjectionPoint| and binding |@Current| of any dependent object instantiated during this
process receives an instance of |InjectionPoint| representing the injection point into
which the dependent object will be injected, or a null value if it is not being injected
into any injection point.</text>
+ <text>The container must ensure that every injection point of type
|InjectionPoint| and binding |@Default| of any dependent object instantiated during this
process receives an instance of |InjectionPoint| representing the injection point into
which the dependent object will be injected, or a null value if it is not being injected
into any injection point.</text>
</assertion>
</section>
@@ -2921,7 +2935,11 @@
</group>
<group>
- <text>A producer method is passivation capable if and only if it never
returns a value which is not passivation capable at runtime. A producer method with a
return type that implements or extends serializable is passivation capable. A producer
method with a return type that is declared |final| and does not implement |Serializable|
is not passivation capable.</text>
+ <text>A producer method is passivation capable if and only if it never
returns a value which is not passivation capable at runtime. A producer method with a
primitive return type or a return type that implements or extends serializable is
passivation capable. A producer method with a return type that is declared |final| and
does not implement |Serializable| is not passivation capable.</text>
+
+ <assertion id="caa">
+ <text>Test that a producer method with a primitive return type is
passivation capable.</text>
+ </assertion>
<assertion id="ca">
<text>Test that a producer method with a serializable return type is
passivation capable.</text>
@@ -2933,7 +2951,11 @@
</group>
<group>
- <text>A producer field is passivation capable if and only if it never refers
to a value which is not passivation capable at runtime. A producer field with a type that
implements or extends |Serializable| is passivation capable. A producer field with a type
that is declared |final| and does not implement |Serializable| is not passivation
capable.</text>
+ <text>A producer field is passivation capable if and only if it never refers
to a value which is not passivation capable at runtime. A producer field with a primitive
type or a type that implements or extends |Serializable| is passivation capable. A
producer field with a type that is declared |final| and does not implement |Serializable|
is not passivation capable.</text>
+
+ <assertion id="daa">
+ <text>Test that a producer field with a primitive type is passivation
capable.</text>
+ </assertion>
<assertion id="da">
<text>Test that a producer field with a serializable type is passivation
capable.</text>
@@ -2961,7 +2983,9 @@
<text>The |getId()| ~method of the |PassivationCapable| implementation must
return a value that uniquely identifies the instance of |Bean| or |Contextual|. It~ is
recommended that the string contain the package name of the class that implements |Bean|
or |Contextual|.</text>
<note>Recommendation only</note>
</assertion>
- </section><section id="6.6.2" title="Passivation capable
dependencies">
+ </section>
+
+ <section id="6.6.2" title="Passivation capable
dependencies">
<assertion id="a">
<text>The container must guarantee that all session beans are passivation
capable dependencies.</text>
</assertion>
@@ -3001,7 +3025,7 @@
</group>
<assertion id="b" testable="false">
- <text>Passivating scopes must be explicitly declared
|(a)ScopeType(passivating=true)|.</text>
+ <text>Passivating scopes must be explicitly declared
|(a)NormalScope(passivating=true)|.</text>
<note>A statement of intent</note>
</assertion>
</section>
@@ -3462,7 +3486,7 @@
<section id="6.7.5" title="The Conversation interface">
<group>
- <text>The container provides a built-in bean with bean type |Conversation|,
scope |@RequestScoped|, and binding |@Current|, named
|javax.enterprise.context.conversation|.</text>
+ <text>The container provides a built-in bean with bean type |Conversation|,
scope |@RequestScoped|, and binding |@Default|, named
|javax.enterprise.context.conversation|.</text>
<assertion id="iaa">
<text>Test the bean type is correct.</text>
</assertion>