Fix for SWF-459 - Resolution of variables using specific scope prefixes like "flowScope", "flashScope", etc. does not work in JSF views.

This commit is contained in:
Jeremy Grelle
2008-02-07 16:37:58 +00:00
parent e7bc4c95d6
commit bd203466b0
4 changed files with 168 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
package org.springframework.faces.expression;
import javax.el.ELContext;
import junit.framework.TestCase;
import org.springframework.binding.expression.el.DefaultELContext;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
import org.springframework.webflow.test.MockRequestContext;
public class ImplicitFlowVariableELResolverTests extends TestCase {
RequestContext requestContext = new MockRequestContext();
ELContext elContext = new DefaultELContext(new ImplicitFlowVariableELResolver(), null, null);
public void setUp() {
RequestContextHolder.setRequestContext(requestContext);
}
public void testGetValue_UnknownVariable() {
Object result = elContext.getELResolver().getValue(elContext, null, "foo");
assertNull(result);
assertFalse(elContext.isPropertyResolved());
}
public void testGetValue_FlashScope() {
Object result = elContext.getELResolver().getValue(elContext, null, "flashScope");
assertNotNull(result);
assertTrue(elContext.isPropertyResolved());
assertSame(requestContext.getFlashScope(), result);
}
public void testGetValue_FlowScope() {
Object result = elContext.getELResolver().getValue(elContext, null, "flowScope");
assertNotNull(result);
assertTrue(elContext.isPropertyResolved());
assertSame(requestContext.getFlowScope(), result);
}
public void testGetValue_ConversationScope() {
Object result = elContext.getELResolver().getValue(elContext, null, "conversationScope");
assertNotNull(result);
assertTrue(elContext.isPropertyResolved());
assertSame(requestContext.getConversationScope(), result);
}
}