Author: pete.muir(a)jboss.org
Date: 2009-02-20 08:33:38 -0500 (Fri, 20 Feb 2009)
New Revision: 1613
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/precedence/SpecializingBeanWithLowerPrecedenceTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
Match section 5 tests
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,7 +1,7 @@
package org.jboss.jsr299.tck.integration.lookup.byname;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
-import org.hibernate.tck.annotations.SpecAssertion;
import org.testng.annotations.Test;
/**
@@ -12,13 +12,13 @@
public class ResolutionByNameTest extends AbstractDeclarativeTest
{
- @Test(groups={"stub", "el"})
@SpecAssertion(section="5.10", id = "unknown")
+ @Test(groups={"stub", "el"})
@SpecAssertion(section="5.10", id = "ab")
public void testELResolverRegisteredWithJsf()
{
assert false;
}
- @Test(groups={"stub", "el"})
@SpecAssertion(section="5.10", id = "unknown")
+ @Test(groups={"stub", "el"})
@SpecAssertion(section="5.10", id = "aa")
public void testELResolverRegisteredWithServlet()
{
assert false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,13 +1,13 @@
package org.jboss.jsr299.tck.integration.lookup.manager;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
-import org.hibernate.tck.annotations.SpecAssertion;
import org.testng.annotations.Test;
public class ManagerTest extends AbstractDeclarativeTest
{
@Test(groups = { "stub", "manager", "ejb3",
"integration" })
- @SpecAssertion(section = "5.8", id = "unknown")
+ @SpecAssertion(section = "5.7.2", id = "b")
public void testManagerLookupInJndi()
{
assert false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,7 +1,7 @@
package org.jboss.jsr299.tck.integration.lookup.non.contextual;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
-import org.hibernate.tck.annotations.SpecAssertion;
import org.testng.annotations.Test;
/**
@@ -20,7 +20,7 @@
* 3.3.6, "Session beans with the @New binding".
*/
@Test(groups = { "stub", "integration" })
- @SpecAssertion(section = "5.12.1", id = "unknown")
+ @SpecAssertion(section = "5.12.1", id = "p")
public void testNonContextualSessionBeanSpecializesNewBeanForInjection()
{
assert false;
@@ -34,7 +34,7 @@
* decorator stacks for these instances.
*/
@Test(groups = { "stub", "integration" })
- @SpecAssertion(section = "5.12.1", id = "unknown")
+ @SpecAssertion(section = "5.12.1", id = "q")
public void testNonContextualSessionBeanSpecializesNewBeanForInterceptorStack()
{
assert false;
@@ -48,7 +48,7 @@
* decorator stacks for these instances.
*/
@Test(groups = { "stub", "integration" })
- @SpecAssertion(section = "5.12.1", id = "unknown")
+ @SpecAssertion(section = "5.12.1", id = "r")
public void testNonContextualSessionBeanSpecializesNewBeanForDecoratorStack()
{
assert false;
@@ -64,7 +64,7 @@
* class annotations.
*/
@Test(groups = { "stub", "integration" })
- @SpecAssertion(section = "5.12.2", id = "unknown")
+ @SpecAssertion(section = "5.12.2", id = "a")
public void testInjectionIntoMessageDrivenBean()
{
assert false;
@@ -77,7 +77,7 @@
* annotations.
*/
@Test(groups = { "stub", "integration" })
- @SpecAssertion(section = "5.12.3", id = "unknown")
+ @SpecAssertion(section = "5.12.3", id = "a")
public void testInjectionIntoServlet()
{
assert false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/precedence/SpecializingBeanWithLowerPrecedenceTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/precedence/SpecializingBeanWithLowerPrecedenceTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/precedence/SpecializingBeanWithLowerPrecedenceTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -2,6 +2,7 @@
import javax.inject.InconsistentSpecializationException;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.ExpectedDeploymentException;
import org.testng.annotations.Test;
@@ -11,6 +12,7 @@
public class SpecializingBeanWithLowerPrecedenceTest
{
@Test
+ @SpecAssertion(section="4.3.3", id="a")
public void testSpecializingBeanDoesNotHaveHigherPrecedenceThanSpecializedBean()
{
}
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -2,6 +2,7 @@
import javax.inject.InconsistentSpecializationException;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.ExpectedDeploymentException;
import org.testng.annotations.Test;
@@ -11,6 +12,7 @@
public class TwoSpecializingBeansForOneSpecializedTest
{
@Test
+ @SpecAssertion(section="4.3.3", id="a")
public void testTwoBeansSpecializeTheSameBean()
{
}
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,10 +1,7 @@
package org.jboss.jsr299.tck.unit.lookup.byname;
-import javax.inject.AmbiguousDependencyException;
-import javax.inject.manager.Bean;
-
-import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.testng.annotations.Test;
/**
@@ -15,7 +12,7 @@
public class InstantiationByNameTest extends AbstractDeclarativeTest
{
- @Test(groups={"underInvestigation", "resolution", "el"})
@SpecAssertion(section="5.10", id = "unknown")
+ @Test(groups={"underInvestigation", "resolution", "el"})
@SpecAssertion(section="5.10", id = "f")
//TODO Need to find a way to intercept calls to the manager to verify this condition
public void testGetInstanceByNameCalledOncePerDistinctNameInElExpression()
{
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,6 +1,7 @@
package org.jboss.jsr299.tck.unit.lookup.byname;
import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
@@ -16,22 +17,11 @@
public class ResolutionByNameTest extends AbstractDeclarativeTest
{
- /**
- * The getInstanceByName() method must:
- *
- * � Identify the Web Bean by calling Manager.resolveByName(), passing the
- * name.
- *
- * � If resolveByName() returned an empty set, return a null value.
- *
- * � Otherwise, if exactly one Web Bean was returned, obtain an instance of
- * the Web Bean by calling Manager.getInstance(), passing the Bean instance
- * representing the Web Bean
- *
- * @throws Exception
- */
@Test(groups = { "resolution", "el" })
- @SpecAssertion(section = "5.10", id = "unknown")
+ @SpecAssertions({
+ @SpecAssertion(section = "5.10", id = "d"),
+ @SpecAssertion(section = "5.10", id = "c")
+ })
public void testELResolver() throws Exception
{
new RunInDependentContext()
@@ -40,6 +30,7 @@
@Override
protected void execute() throws Exception
{
+ assert getCurrentManager().resolveByName("nonexistant").size() ==
0;
assert getCurrentManager().getInstanceByName("nonexistant") ==
null;
assert getCurrentManager().getInstanceByName("salmon") instanceof
Salmon;
}
@@ -61,7 +52,7 @@
* @throws Exception
*/
@Test(groups = { "resolution", "el" })
- @SpecAssertion(section = "5.11", id = "unknown")
+ @SpecAssertion(section = "5.11", id = "c")
public void testOnlyHighestPrecedenceResolved() throws Exception
{
// Both Cod and Plaice are named "whitefish" - Plaice has the highest
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -39,7 +39,7 @@
* @throws Exception
*/
@Test(groups = { "resolution", "el" }, expectedExceptions =
AmbiguousDependencyException.class)
- @SpecAssertion(section = "5.10", id = "unknown")
+ @SpecAssertion(section = "5.10", id = "e")
public void testDuplicateNamedBeans() throws Exception
{
new RunInDependentContext()
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -1,8 +1,8 @@
package org.jboss.jsr299.tck.unit.lookup.clientProxy.unknown;
import javax.inject.DefinitionException;
-import javax.inject.manager.Bean;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.testng.annotations.Test;
@@ -12,6 +12,7 @@
{
//TODO What is this trying to test, and where in the spec is the assertion?
@Test(groups = {"configuration().getBeans()", "broken"},
expectedExceptions=DefinitionException.class)
+ @SpecAssertion(id="review", section="review")
public void testGettingUnknownBeanFails() {
// Bean<Tuna> tunaBean = manager.resolveByType(Tuna.class).iterator().next();
// @SuppressWarnings("unused")
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -17,8 +17,6 @@
@SpecAssertion(section = "5.4.1", id = "e")
public void testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedWebBean()
{
- @SuppressWarnings("unused")
- FinalTuna_Broken tuna =
getCurrentManager().getInstanceByType(FinalTuna_Broken.class);
}
}
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -11,8 +11,8 @@
import javax.inject.UnsatisfiedDependencyException;
import javax.inject.manager.Bean;
+import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
-import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.literals.CurrentBinding;
import org.testng.annotations.Test;
@@ -33,7 +33,7 @@
}
@Test(groups={"resolution", "beanLifecycle"})
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "h")
public void testCurrentBindingTypeAssumed()
{
Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
@@ -42,14 +42,14 @@
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "ib")
public void testParameterizedTypeWithWildcardParameter()
{
getCurrentManager().getInstanceByType(new
TypeLiteral<ParameterizedBean_Broken<?>>(){});
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "ia")
public <T> void testParameterizedTypeWithTypeParameter()
{
getCurrentManager().getInstanceByType(new
TypeLiteral<ParameterizedBean_Broken<T>>(){});
@@ -57,21 +57,21 @@
@Test(groups="resolution",
expectedExceptions=DuplicateBindingTypeException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "j")
public void testDuplicateBindingTypesUsed()
{
getCurrentManager().getInstanceByType(Tuna.class, new CurrentBinding(), new
CurrentBinding());
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "k")
public void testNonBindingTypeUsed()
{
getCurrentManager().getInstanceByType(Tuna.class, new
AnotherDeploymentTypeLiteral());
}
@Test(expectedExceptions=AmbiguousDependencyException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "n")
public void testAmbiguousDependencies() throws Exception
{
Bean<Cod> codBean = createSimpleBean(Cod.class);
@@ -84,7 +84,7 @@
}
@Test(expectedExceptions=UnsatisfiedDependencyException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="5.7.2", id = "m")
public void testUnsatisfiedDependencies() throws Exception
{
deployBeans(Cod.class, Salmon.class, Sole.class);;
@@ -92,7 +92,7 @@
}
@Test(expectedExceptions=UnproxyableDependencyException.class)
- @SpecAssertion(section="5.8", id = "unknown")
+ @SpecAssertion(section="outdated", id = "outdated")
public void testUnproxyableDependencies() throws Exception
{
deployBeans(FinalTuna_Broken.class);
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java 2009-02-20
07:47:34 UTC (rev 1612)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java 2009-02-20
13:33:38 UTC (rev 1613)
@@ -34,7 +34,10 @@
}
@Test(groups="resolution")
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertions({
+ @SpecAssertion(section="5.9", id = "b"),
+ @SpecAssertion(section="5.9", id = "ga")
+ })
public void testDefaultBindingTypeAssumed() throws Exception
{
Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
@@ -45,35 +48,35 @@
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "cb")
public void testParameterizedTypeWithWildcardParameter()
{
getCurrentManager().resolveByType(new
TypeLiteral<ParameterizedBean_Broken<?>>(){});
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "ca")
public <T> void testParameterizedTypeWithTypeParameter()
{
getCurrentManager().resolveByType(new
TypeLiteral<ParameterizedBean_Broken<T>>(){});
}
@Test(groups="resolution",
expectedExceptions=DuplicateBindingTypeException.class)
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "d")
public void testDuplicateBindingTypesUsed()
{
getCurrentManager().resolveByType(Tuna.class, new CurrentBinding(), new
CurrentBinding());
}
@Test(groups="resolution",
expectedExceptions=IllegalArgumentException.class)
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "e")
public void testNonBindingTypeUsed()
{
getCurrentManager().resolveByType(Tuna.class, new AnotherDeploymentTypeLiteral());
}
@Test(groups="resolution")
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "a")
public void testResolveByType() throws Exception
{
Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
@@ -101,7 +104,7 @@
@Test(groups="injection")
@SpecAssertions({
@SpecAssertion(section = "2.3.5", id = "b"),
- @SpecAssertion(section = "5.9.2", id = "unknown")
+ @SpecAssertion(section = "5.9.2", id = "gb")
})
public void testAllBindingTypesSpecifiedForResolutionMustAppearOnWebBean()
{
@@ -136,7 +139,7 @@
}
@Test(groups="resolution")
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "fd")
public void testResolveByTypeWithTypeParameter() throws Exception
{
Bean<ScottishFishFarmer> scottishFishFarmerBean =
createSimpleBean(ScottishFishFarmer.class);
@@ -150,7 +153,7 @@
}
@Test(groups={"resolution", "producerMethod"})
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "fc")
public void testResolveByTypeWithArray() throws Exception
{
Bean<SpiderProducer> spiderProducerBean =
createSimpleBean(SpiderProducer.class);
@@ -165,7 +168,7 @@
assert getCurrentManager().resolveByType(Spider[].class).size() == 1;
}
- @Test @SpecAssertion(section="5.9", id = "unknown")
+ @Test @SpecAssertion(section="5.9", id = "ha")
public void testOnlyHighestEnabledPrecedenceWebBeansResolved() throws Exception
{
Bean<Cod> codBean = createSimpleBean(Cod.class);
@@ -184,7 +187,7 @@
@Test(groups="resolution")
- @SpecAssertion(section="5.9", id = "unknown")
+ @SpecAssertion(section="5.9", id = "hb")
public void testNoWebBeansFound() throws Exception
{
deployBeans(Salmon.class, Sole.class, Plaice.class);
@@ -192,7 +195,11 @@
}
@Test(groups="resolution")
- @SpecAssertion(section="5.9.1", id = "unknown")
+ @SpecAssertions({
+ @SpecAssertion(section="5.9.1", id = "b"),
+ @SpecAssertion(section="5.9", id = "gc"),
+ @SpecAssertion(section="5.9", id = "gd")
+ })
public void testResolveByTypeWithNonBindingMembers() throws Exception
{
Bean<Halibut> halibutBean = createSimpleBean(Halibut.class);
@@ -222,7 +229,7 @@
}
@Test(groups="resolution", expectedExceptions=DefinitionException.class)
- @SpecAssertion(section="5.9.1", id = "unknown")
+ @SpecAssertion(section="5.9.1", id = "ca")
public void testArrayValuedAnnotationMemberWithoutNonBinding()
{
getCurrentManager().resolveByType(Animal.class, new
BindingTypeWithBindingArrayTypeMemberLiteral_Broken() {
@@ -236,7 +243,7 @@
}
@Test(groups="resolution", expectedExceptions=DefinitionException.class)
- @SpecAssertion(section="5.9.1", id = "unknown")
+ @SpecAssertion(section="5.9.1", id = "cb")
public void testAnnotationValuedAnnotationMemberWithoutNonBinding()
{
getCurrentManager().resolveByType(Animal.class, new
BindingTypeWithBindingAnnotationMemberLiteral_Broken()
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-02-20 07:47:34 UTC (rev 1612)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-02-20 13:33:38 UTC (rev 1613)
@@ -1,4 +1,7 @@
-<specification
xmlns="http://jboss.com/products/webbeans/tck/audit"
+<specification
+
xmlns="http://jboss.com/products/webbeans/tck/audit"
+
xmlns:xsi="http://jboss.com/products/webbeans/tck/audit
http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://jboss.com/products/webbeans/tck/audit
file:///Users/pmuir/workspace/hibernate-validator-parent/tck-utils/api/src/main/resources/tck-audit.xsd"
name="JSR-299: Java Contexts and Dependency Injection"
version="Revised Public Review Draft">
@@ -105,10 +108,15 @@
</section>
<section id="2.3.2" title="Defining new binding types">
- <assertion id="a">
- <text>A binding type is a Java annotation defined as @Target({METHOD, FIELD,
PARAMETER, TYPE}) and @Retention(RUNTIME).</text>
+ <assertion id="aa">
+ <text>A binding type is a Java annotation defined as @Target({METHOD, FIELD,
PARAMETER, TYPE})~ and @Retention(RUNTIME)~.</text>
</assertion>
+ <assertion id="ab" testable="false">
+ <text>A binding type is a Java annotation defined as ~@Target({METHOD, FIELD,
PARAMETER, TYPE}) and ~(a)Retention(RUNTIME).</text>
+ <note>Non-runtime retention annotations are discarded by the
compiler</note>
+ </assertion>
+
<assertion id="b">
<text>A binding type may be declared by specifying the
@javax.inject.BindingType meta-annotation</text>
</assertion>
@@ -226,10 +234,17 @@
</section>
<section id="2.4.2" title="Defining new scope types">
- <assertion id="a">
- <text>A scope type is a Java annotation defined as @Target({TYPE, METHOD,
FIELD}) and @Retention(RUNTIME)</text>
+ <assertion id="aa">
+ <text>A scope type is a Java annotation defined as @Target({TYPE, METHOD,
FIELD})~ and @Retention(RUNTIME)Z</text>
</assertion>
+ <assertion id="ab" testable="false">
+ <text>A scope type is a Java annotation defined as ~@Target({TYPE, METHOD,
FIELD}) and ~@Retention(RUNTIME)</text>
+ <note>Non-runtime retention annotations are discarded by the
compiler</note>
+ </assertion>
+
+
+
<assertion id="b">
<text>All scope types must specify the @javax.context.ScopeType
meta-annotation</text>
</assertion>
@@ -314,8 +329,9 @@
<text>A deployment type is a Java annotation defined as @Target({TYPE,
METHOD, FIELD})</text>
</assertion>
- <assertion id="b">
+ <assertion id="bb" testable="false">
<text>A deployment type is a Java annotation defined with
@Retention(RUNTIME)</text>
+ <note>Non-runtime retention annotations are discarded by the
compiler</note>
</assertion>
<assertion id="c">
@@ -510,10 +526,29 @@
</section>
<section id="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 id="aa">
+ <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="ab">
+ <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="ac">
+ <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="ad">
+ <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="ae" testable="false">
+ <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>
+ <note>Non-runtime retention annotations are discarded by the
compiler</note>
+ </assertion>
+
+
+
<assertion id="b">
<text>A stereotype may be declared by specifying the
@javax.annotation.Stereotype meta-annotation</text>
</assertion>
@@ -586,7 +621,7 @@
<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">
+ <assertion id="c" >
<text>Stereotypes declared @Target(TYPE) may not be applied to stereotypes
declared @Target({TYPE, METHOD, FIELD})</text>
</assertion>
@@ -601,6 +636,7 @@
<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">
@@ -2207,8 +2243,9 @@
<text>Even if the lower-priority bean defines a producer method, the method
will be called upon an instance of the specializing bean</text>
</assertion>
- <assertion id="h">
+ <assertion id="h" testable="false">
<text>Specialization applies only to simple beans, as defined in Section
3.2.7, "Specializing a simple bean", session beans, as defined in Section 3.3.7,
"Specializing a session bean" and producer methods, as defined in Section 3.4.5,
"Specializing a producer method".</text>
+ <note>This is a statement of intent</note>
</assertion>
</section>
@@ -2600,10 +2637,14 @@
<text>If no bindings are passed to Manager.getInstanceByType(), the default
binding @Current is assumed</text>
</assertion>
- <assertion id="i">
- <text>If a parameterized type with a type parameter or wildcard is passed to
resolveByType(), an IllegalArgumentException is thrown</text>
+ <assertion id="ia">
+ <text>If a parameterized type with a type parameter ~or wildcard~ is passed
to resolveByType(), an IllegalArgumentException is thrown</text>
</assertion>
+ <assertion id="ib">
+ <text>If a parameterized type with a ~type parameter or~ wildcard is passed
to resolveByType(), an IllegalArgumentException is thrown</text>
+ </assertion>
+
<assertion id="j">
<text>If two instances of the same binding type are passed to
getInstanceByType(), a DuplicateBindingTypeException is thrown</text>
</assertion>
@@ -2708,16 +2749,21 @@
<section id="5.9" title="Typesafe resolution algorithm">
<assertion id="a">
<text>The resolveByType() method of the Manager interface returns the result
of the typesafe resolution</text>
+ <note>Here we just do a general test that resolveByType() is producing
sensible results</note>
</assertion>
<assertion id="b">
<text>If no bindings are passed to Manager.resolveByType(), the default
binding @Current is assumed</text>
</assertion>
- <assertion id="c">
- <text>If a parameterized type with a type parameter or wildcard is passed to
Manager.resolveByType(), an IllegalArgumentException is thrown</text>
+ <assertion id="ca">
+ <text>If a parameterized type with a type parameter ~or wildcard~ is passed
to Manager.resolveByType(), an IllegalArgumentException is thrown</text>
</assertion>
+ <assertion id="cb">
+ <text>If a parameterized type with a ~type parameter or~ wildcard is passed
to Manager.resolveByType(), an IllegalArgumentException is thrown</text>
+ </assertion>
+
<assertion id="d">
<text>If two instances of the same binding type are passed to
Manager.resolveByType(), a DuplicateBindingTypeException is thrown</text>
</assertion>
@@ -2726,31 +2772,65 @@
<text>If an instance of an annotation that is not a binding type is passed to
Manager.resolveByType(), an IllegalArgumentException is thrown</text>
</assertion>
- <assertion id="f">
- <text>When the container is resolving a bean by type, it identifies the set
of matching enabled beans which have the given bean type. For this purpose, primitive
types are considered to be identical to their corresponding wrapper types in java.lang,
array types are considered identical only if their element types are identical and
parameterized types are considered identical only if both the type and all type parameters
are identical</text>
+ <assertion id="fa">
+ <text>When the container is resolving a bean by type, it identifies the set
of matching enabled beans which have the given bean type.</text>
</assertion>
- <assertion id="g">
- <text>When the container is resolving a bean by type, it considers the given
bindings. If no bindings were passed to resolveByType(), the container assumes the binding
@Current. The container narrows the set of matching beans to just those where for each
given binding, the bean declares a binding with (a) the same type and (b) the same
annotation member value for each member which is not annotated @NonBinding (see Section
5.9.1, "Binding annotations with members")</text>
+ <assertion id="fb">
+ <text>When the container is resolving a bean by type~, it identifies the set
of matching enabled beans which have the given bean type~. For this purpose, primitive
types are considered to be identical to their corresponding wrapper types in java.lang~,
array types are considered identical only if their element types are identical and
parameterized types are considered identical only if both the type and all type parameters
are identical~</text>
</assertion>
- <assertion id="h">
- <text>When the container is resolving a bean by type, it examines the
deployment types of the matching beans, as defined in Section 2.5.7, "Deployment type
precedence", and returns the set of beans with the highest precedence deployment type
that occurs in the set. If there are no matching beans, an empty set is
returned</text>
+ <assertion id="fc">
+ <text>When the container is resolving a bean by type~, it identifies the set
of matching enabled beans which have the given bean type~. For this purpose, ~primitive
types are considered to be identical to their corresponding wrapper types in java.lang,~
array types are considered identical only if their element types are identical~ and
parameterized types are considered identical only if both the type and all type parameters
are identical~</text>
</assertion>
+
+ <assertion id="fd">
+ <text>When the container is resolving a bean by type~, it identifies the set
of matching enabled beans which have the given bean type~. For this purpose, ~primitive
types are considered to be identical to their corresponding wrapper types in java.lang,
array types are considered identical only if their element types are identical and~
parameterized types are considered identical only if both the type and all type parameters
are identical</text>
+ </assertion>
+
+ <assertion id="ga">
+ <text>When the container is resolving a bean by type, it considers the given
bindings. _If no bindings were passed to resolveByType(), the container assumes the
binding @Current_. </text>
+ </assertion>
+
+ <assertion id="gb">
+ <text>When the container is resolving a bean by type, it considers the given
bindings. ~If no bindings were passed to resolveByType(), the container assumes the
binding @Current~. The container narrows the set of matching beans to just those where for
each given binding, the bean declares a binding with _(a) the same type_ and (b) the same
annotation member value for each member which is not annotated @NonBinding (see Section
5.9.1, "Binding annotations with members")</text>
+ </assertion>
+
+ <assertion id="gc">
+ <text>When the container is resolving a bean by type, it considers the given
bindings. ~If no bindings were passed to resolveByType(), the container assumes the
binding @Current~. The container narrows the set of matching beans to just those where for
each given binding, the bean declares a binding with (a) the same type and _(b) the same
annotation member value for each member_ which is not annotated @NonBinding (see Section
5.9.1, "Binding annotations with members")</text>
+ </assertion>
+
+ <assertion id="gd">
+ <text>When the container is resolving a bean by type, it considers the given
bindings. ~If no bindings were passed to resolveByType(), the container assumes the
binding @Current~. The container narrows the set of matching beans to just those where for
each given binding, the bean declares a binding with (a) the same type and (b) the same
annotation member value for each member which is _not annotated @NonBinding_ (see Section
5.9.1, "Binding annotations with members")</text>
+ </assertion>
+
+ <assertion id="ha">
+ <text>When the container is resolving a bean by type, it examines the
deployment types of the matching beans, as defined in Section 2.5.7, "Deployment type
precedence", and returns the set of beans with the highest precedence deployment type
that occurs in the set.</text>
+ </assertion>
+
+ <assertion id="hb">
+ <text>When the container is resolving a bean by type, it examines the
deployment types of the matching beans, as defined in Section 2.5.7, "Deployment type
precedence", and returns the set of beans with the highest precedence deployment type
that occurs in the set. _If there are no matching beans, an empty set is
returned_</text>
+ </assertion>
+
</section>
<section id="5.9.1" title="Binding annotations with
members">
- <assertion id="a">
+ <assertion id="a" testable="false">
<text>Binding types with members are supported</text>
+ <note>A statement of intent</note>
</assertion>
<assertion id="b">
<text>An annotation member may be excluded from consideration using the
@NonBinding annotation</text>
</assertion>
- <assertion id="c">
- <text>Array-valued or annotation-valued members of a binding type must be
annotated @NonBinding. If an array-valued or annotation-valued member of a binding type is
not annotated @NonBinding, a DefinitionException is thrown by the container at deployment
time</text>
+ <assertion id="ca">
+ <text>Array-valued ~or annotation-valued~ members of a binding type must be
annotated @NonBinding. If an array-valued ~or annotation-valued~ member of a binding type
is not annotated @NonBinding, a DefinitionException is thrown by the container at
deployment time</text>
</assertion>
+
+ <assertion id="cb">
+ <text>~Array-valued or ~annotation-valued members of a binding type must be
annotated @NonBinding. If an ~array-valued or ~annotation-valued member of a binding type
is not annotated @NonBinding, a DefinitionException is thrown by the container at
deployment time</text>
+ </assertion>
</section>
<section id="5.9.2" title="Multiple bindings">
@@ -2772,10 +2852,17 @@
</section>
<section id="5.10" title="EL name resolution">
- <assertion id="a" testable="false">
- <text>The container must provide a Unified EL ELResolver to the servlet
engine and JSF implementation that resolves bean names</text>
+
+ <assertion id="aa">
+ <text>The container must provide a Unified EL ELResolver to the servlet
engine ~and JSF implementation~ that resolves bean names</text>
+ <note>This is testable implicitly by trying to resolve using EL from a
servlet</note>
</assertion>
+ <assertion id="ab">
+ <text>The container must provide a Unified EL ELResolver to the ~servlet
engine~ and JSF implementation that resolves bean names</text>
+ <note>This is testable implicitly by trying to resolve using EL from a JSF
view</note>
+ </assertion>
+
<assertion id="b">
<text>When this resolver is called with a null base object, it calls the
method Manager.getInstanceByName() to obtain an instance of the bean named in the EL
expression</text>
</assertion>
@@ -2798,6 +2885,7 @@
<assertion id="f">
<text>For each distinct name that appears in the EL expression,
getInstanceByName() must be called at most once</text>
+ <note>This is surely part of e?!</note>
</assertion>
<assertion id="g">
@@ -2825,9 +2913,10 @@
</section>
<section id="5.12" title="Injection into non-contextual
objects">
- <assertion id="a">
+ <assertion id="a" testable="false">
<text>The container is required to perform dependency injection upon certain
non-contextual objects</text>
- </assertion>
+ <note>This is a statement of intent</note>
+ </assertion>
</section>
<section id="5.12.1" title="Non-contextual instances of session
beans">
@@ -2948,15 +3037,16 @@
</assertion>
<assertion id="d">
- <text>An event binding type is a Java annotation defined as[@Target({FIELD,
PARAMETER})] or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
@Retention(RUNTIME)</text>
+ <text>An event binding type is a Java annotation defined as @Target({FIELD,
PARAMETER}) ~or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
@Retention(RUNTIME)~</text>
</assertion>
<assertion id="e">
- <text>An event binding type is a Java annotation defined as @Target({FIELD,
PARAMETER}) or [@Target({METHOD, FIELD, PARAMETER, TYPE})] and
@Retention(RUNTIME)</text>
+ <text>An event binding type is a Java annotation defined as ~@Target({FIELD,
PARAMETER}) or~ @Target({METHOD, FIELD, PARAMETER, TYPE}) ~and
@Retention(RUNTIME)~</text>
</assertion>
-
- <assertion id="f">
- <text>An event binding type is a Java annotation defined as @Target({FIELD,
PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
[@Retention(RUNTIME)]</text>
+
+ <assertion id="f" testable="false">
+ <text>An event binding type is a Java annotation defined as ~@Target({FIELD,
PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
~@Retention(RUNTIME)</text>
+ <note>The compiler discards non-runtime-retention annotation</note>
</assertion>
<assertion id="g">