[webbeans-commits] Webbeans SVN: r1577 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/unit/implementation/producer/field and 1 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Wed Feb 18 17:06:11 EST 2009
Author: shane.bryzak at jboss.com
Date: 2009-02-18 17:06:11 -0500 (Wed, 18 Feb 2009)
New Revision: 1577
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
completed chapter 2 assertions, mapped more tests
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java 2009-02-18 18:41:21 UTC (rev 1576)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java 2009-02-18 22:06:11 UTC (rev 1577)
@@ -11,57 +11,29 @@
*/
public class ResourceInjectionTest extends AbstractDeclarativeTest
{
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • dependency injection via (@EJB), (@Resource), @PersistenceUnit and
- * @PersistenceContext.
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "d")
public void testInjectionOfPersistenceContext()
{
assert false;
}
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • dependency injection via (@EJB), (@Resource), @PersistenceUnit and
- * @PersistenceContext.
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "c")
public void testInjectionOfPersistenceUnit()
{
assert false;
}
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • dependency injection via (@EJB), (@Resource), @PersistenceUnit and
- * @PersistenceContext.
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "b")
public void testInjectionOfResource()
{
assert false;
}
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • dependency injection via (@EJB), (@Resource), @PersistenceUnit and
- * @PersistenceContext.
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "a")
public void testInjectionOfEJB()
{
assert false;
@@ -74,43 +46,28 @@
* • @PostConstruct and @PreDestroy callbacks
*/
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "e")
public void testPostConstructCallback()
{
assert false;
}
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • @PostConstruct and @PreDestroy callbacks
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "f")
public void testPreDestroyCallback()
{
assert false;
}
- /**
- * The following functionality is provided by the container when annotations
- * are applied to the bean class of a simple bean:
- *
- * • interception, as defined in javax.interceptor
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "g")
public void testStandardInterceptor()
{
assert false;
}
- /**
- * @PersistenceContext(type=EXTENDED) is not supported for simple beans.
- */
@Test(groups = "stub")
- @SpecAssertion(section = "3.10", id = "unknown")
+ @SpecAssertion(section = "3.10", id = "h")
public void testExtendedPersistenceContextNotSupported()
{
assert false;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java 2009-02-18 18:41:21 UTC (rev 1576)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java 2009-02-18 22:06:11 UTC (rev 1577)
@@ -39,15 +39,8 @@
return Collections.unmodifiableList(Arrays.asList(Standard.class, Production.class, AnotherDeploymentType.class));
}
- /**
- * By default, if no deployment type annotation is explicitly specified, a
- * producer method or field inherits the deployment type of the bean in which
- * it is defined.
- *
- * @throws Exception
- */
@Test(groups = { "producerField" })
- @SpecAssertion(section = "2.5.3", id = "unknown")
+ @SpecAssertion(section = "2.5.3", id = "h")
public void testProducerFieldInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
{
deployBeans(TarantulaProducer.class, TarantulaConsumer.class);
@@ -69,20 +62,14 @@
*/
@Test(groups = { "broken", "producerField", "enterpriseBeans" }, expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.5", id = "unknown")
+ @SpecAssertion(section = "3.5", id = "review")
public void testProducerFieldIsNotBusinessField() throws Exception
{
deployBeans(VibratingSpiderImpl_Broken.class);
}
- /**
- * If the producer field return type is a parameterized type, it must specify
- * actual type parameters for each type parameter.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5", id = "unknown")
+ @SpecAssertion(section = "3.5", id = "f")
public void testParameterizedReturnType() throws Exception
{
deployBeans(FunnelWeaverSpiderProducer.class, FunnelWeaverSpiderConsumer.class);
@@ -98,26 +85,15 @@
}.run();
}
- /**
- * If the producer field return type is a parameterized type, it must specify
- * actual type parameters for each type parameter. If a producer field return
- * type contains a wildcard type parameter or type variable, a
- * DefinitionException is thrown by the container at deployment time.
- *
- * @throws Exception
- */
@Test(groups = "producerField", expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.5", id = "unknown")
+ @SpecAssertion(section = "3.5", id = "g")
public void testParameterizedReturnTypeWithWildcard()
{
deployBeans(SpiderProducerWildCardType_Broken.class);
}
- /**
- * A bean may declare multiple producer fields.
- */
@Test(groups = { "producerField", "deployment" })
- @SpecAssertion(section = "3.5", id = "unknown")
+ @SpecAssertion(section = "3.5", id = "j")
public void testBeanDeclaresMultipleProducerFields()
{
deployBeans(OtherSpiderProducer.class);
@@ -125,7 +101,7 @@
@Test(groups = "producerField")
@SpecAssertions({
- @SpecAssertion(section = "3.5", id = "unknown"),
+ @SpecAssertion(section = "3.5", id = "review"),
@SpecAssertion(section = "2.3.1", id = "unknown")
})
public void testDefaultBindingType()
@@ -136,15 +112,8 @@
assert tarantulaBeans.iterator().next().getBindings().contains(new CurrentBinding());
}
- /**
- * If the field type is a class, the set of bean types contains the field
- * type, every superclass and all interfaces it implements directly or
- * indirectly.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5.1", id = "unknown")
+ @SpecAssertion(section = "3.5.1", id = "c")
public void testApiTypeForClassReturn()
{
deployBeans(StaticTarantulaProducer.class);
@@ -160,15 +129,8 @@
assert tarantulaModel.getTypes().contains(Object.class);
}
- /**
- * If the field type is an interface, the set of bean types contains the
- * field type, all interfaces it extends directly or indir- ectly and
- * java.lang.Object.
- *
- * @throws Exception
- */
@Test(groups = { "producerField" })
- @SpecAssertion(section = "3.5.1", id = "unknown")
+ @SpecAssertion(section = "3.5.1", id = "a")
public void testApiTypeForInterfaceReturn()
{
deployBeans(SpiderAsAnimalProducer.class);
@@ -180,14 +142,8 @@
assert animalModel.getTypes().contains(Object.class);
}
- /**
- * If a field type is primitive or is a Java array type, the set of bean
- * types contains exactly two types: the field type and java.lang.Object.
- *
- * @throws Exception
- */
@Test(groups = { "producerField" })
- @SpecAssertion(section = "3.5.1", id = "unknown")
+ @SpecAssertion(section = "3.5.1", id = "b")
public void testApiTypeForPrimitiveReturn()
{
deployBeans(OtherSpiderProducer.class);
@@ -199,16 +155,10 @@
assert intModel.getTypes().contains(Object.class);
}
- /**
- * If a field type is primitive or is a Java array type, the set of bean
- * types contains exactly two types: the field type and java.lang.Object.
- *
- * @throws Exception
- */
@Test(groups = { "producerField" })
@SpecAssertions({
- @SpecAssertion(section = "3.5.1", id = "unknown"),
- @SpecAssertion(section = "2.2", id = "unknown")
+ @SpecAssertion(section = "3.5.1", id = "b"),
+ @SpecAssertion(section = "2.2", id = "j")
})
public void testApiTypeForArrayTypeReturn()
{
@@ -221,14 +171,8 @@
assert spidersModel.getTypes().contains(Object.class);
}
- /**
- * A producer field may also specify scope, name, deployment type,
- * stereotypes and/or bindings.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5.2", id = "unknown")
+ @SpecAssertion(section = "3.5.2", id = "f")
public void testBindingType()
{
deployBeans(TameTarantulaProducer.class);
@@ -239,14 +183,8 @@
assert tarantulaModel.getBindings().iterator().next().annotationType().equals(Tame.class);
}
- /**
- * A producer field may also specify scope, name, deployment type,
- * stereotypes and/or bindings.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5.2", id = "unknown")
+ @SpecAssertion(section = "3.5.2", id = "b")
public void testScopeType()
{
deployBeans(TameTarantulaProducer.class);
@@ -258,14 +196,8 @@
// TODO Inherit scope from returned web bean?
}
- /**
- * A producer field may also specify scope, name, deployment type,
- * stereotypes and/or bindings.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5.2", id = "unknown")
+ @SpecAssertion(section = "3.5.2", id = "d")
public void testDeploymentType()
{
deployBeans(TameTarantulaProducer.class);
@@ -275,14 +207,8 @@
assert tarantulaModel.getDeploymentType().equals(Production.class);
}
- /**
- * A producer field may also specify scope, name, deployment type,
- * stereotypes and/or bindings.
- *
- * @throws Exception
- */
@Test(groups = "producerField")
- @SpecAssertion(section = "3.5.2", id = "unknown")
+ @SpecAssertion(section = "3.5.2", id = "c")
public void testNamedField()
{
deployBeans(BlackWidowProducer.class);
@@ -301,8 +227,8 @@
*/
@Test(groups = { "producerField" })
@SpecAssertions({
- @SpecAssertion(section = "2.6.3", id = "unknown"),
- @SpecAssertion(section = "3.5.4", id = "unknown")
+ @SpecAssertion(section = "2.6.3", id = "b"),
+ @SpecAssertion(section = "3.5.4", id = "a")
})
public void testDefaultNamedField()
{
@@ -322,8 +248,8 @@
@Test(groups = "producerField")
@SpecAssertions({
@SpecAssertion(section = "2.7.2", id = "unknown"),
- @SpecAssertion(section = "3.5.2", id = "unknown"),
- @SpecAssertion(section = "2.2", id = "unknown")
+ @SpecAssertion(section = "3.5.2", id = "e"),
+ @SpecAssertion(section = "2.2", id = "review")
})
public void testStereotype()
{
@@ -336,7 +262,7 @@
}
@Test(groups = "producerField")
- @SpecAssertion(section = "4.2", id = "unknown")
+ @SpecAssertion(section = "4.2", id = "k")
public void testNonStaticProducerFieldNotInherited()
{
deployBeans(InfertileChicken.class);
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-02-18 18:41:21 UTC (rev 1576)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-02-18 22:06:11 UTC (rev 1577)
@@ -273,7 +273,7 @@
</assertion>
<assertion id="h">
- <text>By default, if no deployment type annotation is explicitly specified, a field inherits the deployment type of the bean in which it is defined.</text>
+ <text>By default, if no deployment type annotation is explicitly specified, a producer field inherits the deployment type of the bean in which it is defined.</text>
</assertion>
<assertion id="i">
@@ -369,7 +369,7 @@
</assertion>
<assertion id="c">
- <text>A default name must be assigned by the container when a field of a bean defined using annotations declares a @Named annotation and no name is explicitly specified by the value member</text>
+ <text>A default name must be assigned by the container when a producer field of a bean defined using annotations declares a @Named annotation and no name is explicitly specified by the value member</text>
</assertion>
<assertion id="d">
@@ -391,7 +391,7 @@
<section id="2.7" title="Stereotypes">
<assertion id="a">
- <text>A stereotype may also specify that all beans with the stereotype have defaulted bean names</text>
+ <text>A stereotype may specify that all beans with the stereotype have defaulted bean names</text>
</assertion>
<assertion id="b">
@@ -407,7 +407,150 @@
</assertion>
</section>
+
+ <section 2.7.1" title="Defining new stereotypes">
+ <assertion id="a">
+ <text>A beans stereotype is a Java annotation defined as @Target({TYPE, METHOD, FIELD}), @Target(TYPE), @Target(METHOD), @Target(FIELD) or @Target({METHOD, FIELD}) and @Retention(RUNTIME)</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>A stereotype may be declared by specifying the @javax.annotation.Stereotype meta-annotation</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>The @Stereotype meta-annotation may be omitted, and the stereotype may be declared in beans.xml</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>A stereotype may not declare any binding annotation. If a stereotype declares a binding annotation, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.1.1" title="Declaring the default scope and deployment type for a stereotype">
+ <assertion id="a">
+ <text>A stereotype may declare at most one scope. If a stereotype declares more than one scope, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>A stereotype may declare at most one deployment type. If a stereotype declares more than one deployment type, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.1.2" title="Specifying interceptor bindings for a stereotype">
+
+ <assertion id="a">
+ <text>A stereotype may declare zero interceptor bindings</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>A stereotype may declare one interceptor binding</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>A stereotype may declare multiple interceptor bindings</text>
+ </assertion>
+
+ </section>
+
+ <section id="2.7.1.3" title="Specifying name defaulting for a stereotype">
+ <assertion id="a">
+ <text>A stereotype may declare an empty @Named annotation. If a stereotype declares a non-empty @Named annotation, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>A stereotype may specify that every bean with the stereotype has a defaulted name when a name is not explicitly specified by the bean</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.1.4" title="Restricting bean scopes and types using a stereotype">
+ <assertion id="a">
+ <text>Bean scopes may be restricted using a stereotype</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>Bean types may be restricted using a stereotype</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>Scope and type restrictions may not be specified when a stereotype is declared in XML</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.1.5" title="Stereotypes with additional stereotypes">
+ <assertion id="a">
+ <text>A stereotype may declare other stereotypes</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>Stereotype declarations are transitive — a stereotype declared by a second stereotype is inherited by all beans and other stereotypes that declare the second stereotype</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>Stereotypes declared @Target(TYPE) may not be applied to stereotypes declared @Target({TYPE, METHOD, FIELD})</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>Stereotypes declared @Target(TYPE) may not be applied to stereotypes declared @Target(METHOD)</text>
+ </assertion>
+
+ <assertion id="e">
+ <text>Stereotypes declared @Target(TYPE) may not be applied to stereotypes declared @Target(FIELD)</text>
+ </assertion>
+
+ <assertion id="f">
+ <text>Stereotypes declared @Target(TYPE) may not be applied to stereotypes declared @Target({METHOD, FIELD})</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.2" title="Declaring the stereotypes for a bean using annotations">
+ <assertion id="a">
+ <text>Stereotype annotations may be applied to a bean class</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>Stereotype annotations may be applied to a producer method</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>Stereotype annotations may be applied to a producer field</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>The default deployment type and default scope declared by the stereotype may be overridden by the bean</text>
+ </assertion>
+
+ <assertion id="e">
+ <text>Multiple stereotypes may be applied to the same bean</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.3" title="Declaring the stereotypes for a bean using XML">
+ <assertion id="a">
+ <text>If the bean is declared in beans.xml, stereotypes may be declared using the stereotype annotation type name</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.4" title="Stereotype restrictions">
+ <assertion id="a">
+ <text>If a stereotype declares a requiredType, and the bean types do not include the type, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>If a stereotype explicitly declares a set of scope types using supportedScopes, and the bean scope is not in that set, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>If a bean declares multiple stereotypes, it must satisfy every restriction declared by every declared stereotype</text>
+ </assertion>
+ </section>
+
+ <section id="2.7.5" title="Built-in stereotypes">
+ <assertion id="a">
+ <text>The built-in @Model stereotype is intended for use with beans that define the model layer of an MVC web application architecture such as JSF</text>
+ </assertion>
+ </section>
+
<section id="3" title="Bean Implementation">
</section>
@@ -1200,8 +1343,24 @@
</assertion>
<assertion id="b">
- <text>A producer field may also specify scope, name, deployment type, stereotypes and/or bindings</text>
+ <text>A producer field may specify a scope</text>
</assertion>
+
+ <assertion id="c">
+ <text>A producer field may specify a name</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>A producer field may specify a deployment type</text>
+ </assertion>
+
+ <assertion id="e">
+ <text>A producer field may specify stereotypes</text>
+ </assertion>
+
+ <assertion id="f">
+ <text>A producer field may specify bindings</text>
+ </assertion>
</section>
<section id="3.5.3" title="Declaring a producer field using XML">
@@ -1828,7 +1987,7 @@
</assertion>
<assertion id="k">
- <text>For class X which is the bean class of a simple or session bean Y declared using XML, if X declares a non-static producer field x then Y does not inherit this method, unless Y is explicitly declared to specialize or realize X.</text>
+ <text>For class X which is the bean class of a simple or session bean Y declared using XML, if X declares a non-static producer field x then Y does not inherit this field, unless Y is explicitly declared to specialize or realize X.</text>
</assertion>
<assertion id="l">
More information about the weld-commits
mailing list