@Test(groups = { "contexts", "el" }) @SpecAssertion(section = "6.4", id = "ca") public void testInstanceUsedForElEvaluationNotShared() throws Exception { Set<Bean<Fox>> foxBeans = getBeans(Fox.class); assert foxBeans.size() == 1; Fox fox1 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class); Fox fox2 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class); assert !fox1.equals(fox2); }
@Test(groups = "beanLifecycle") @SpecAssertion(section = "6.5.2", id = "a") public void testContextCreatesNewInstanceForInjection() { Context requestContext = getCurrentManager().getContext(RequestScoped.class); Bean<Tuna> tunaBean = getBeans(Tuna.class).iterator().next(); assert requestContext.get(tunaBean) == null; TunaFarm tunaFarm = getCurrentConfiguration().getEl().evaluateValueExpression("#{tunaFarm}", TunaFarm.class); assert tunaFarm.tuna != null; }
@Test @SpecAssertion(section="6.4.3", id="a") public void testQualifiedNameLookup() { assert getCurrentConfiguration().getEl().evaluateValueExpression("#{(game.value == 'foo' and game.value == 'foo') ? game.value == 'foo' : false}", Boolean.class); assert getInstanceByType(Counter.class).getCount() == 1; }
@Test(groups = "el") @SpecAssertions({ @SpecAssertion(section="12.4", id="d"), @SpecAssertion(section="2.5", id="a") }) public void testELResolverReturnsContextualInstance() { Salmon salmon = getInstanceByType(Salmon.class); salmon.setAge(3); assert getCurrentConfiguration().getEl().evaluateValueExpression("#{salmon.age}", Integer.class) == 3; } }
@Test(groups = { "contexts", "el"}) @SpecAssertion(section = "6.4.2", id = "eee") public void testDependentsDestroyedWhenElEvaluationCompletes() throws Exception { // Reset test class Fox.reset(); FoxRun.setDestroyed(false); getCurrentConfiguration().getEl().evaluateValueExpression("#{foxRun}", FoxRun.class); assert FoxRun.isDestroyed(); assert Fox.isDestroyed(); }