SWF-418 - Restore JSF 1.1 compatability

This commit is contained in:
Jeremy Grelle
2007-11-26 19:45:14 +00:00
parent a268feae48
commit 52018b64c5
28 changed files with 1190 additions and 224 deletions

View File

@@ -1,9 +1,6 @@
package org.springframework.faces.ui.resource;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import org.easymock.EasyMock;
import java.io.IOException;
import java.io.StringWriter;
@@ -11,7 +8,6 @@ import java.io.StringWriter;
import junit.framework.TestCase;
import org.apache.shale.test.mock.MockResponseWriter;
import org.easymock.EasyMock;
import org.springframework.faces.webflow.JSFMockHelper;
import org.springframework.webflow.context.ExternalContext;
import org.springframework.webflow.context.FlowDefinitionRequestInfo;
@@ -21,8 +17,8 @@ import org.springframework.webflow.execution.RequestContextHolder;
public class FlowResourceHelperTests extends TestCase {
RequestContext requestContext = createMock(RequestContext.class);
ExternalContext externalContext = createMock(ExternalContext.class);
RequestContext requestContext = (RequestContext) EasyMock.createMock(RequestContext.class);
ExternalContext externalContext = (ExternalContext) EasyMock.createMock(ExternalContext.class);
FlowResourceHelper resourceHelper = new FlowResourceHelper();
StringWriter writer = new StringWriter();
@@ -32,7 +28,7 @@ public class FlowResourceHelperTests extends TestCase {
protected void setUp() throws Exception {
jsf.setUp();
jsf.facesContext().setResponseWriter(new MockResponseWriter(writer, "text/html", "UTF-8"));
expect(requestContext.getExternalContext()).andStubReturn(externalContext);
EasyMock.expect(requestContext.getExternalContext()).andStubReturn(externalContext);
RequestContextHolder.setRequestContext(requestContext);
}
@@ -48,14 +44,15 @@ public class FlowResourceHelperTests extends TestCase {
FlowDefinitionRequestInfo expectedRequest = new FlowDefinitionRequestInfo("resources", new RequestPath(
scriptPath), null, null);
expect(externalContext.buildFlowDefinitionUrl(requestInfoMatches(expectedRequest))).andReturn(expectedUrl);
EasyMock.expect(externalContext.buildFlowDefinitionUrl(requestInfoMatches(expectedRequest))).andReturn(
expectedUrl);
replay(new Object[] { requestContext, externalContext });
EasyMock.replay(new Object[] { requestContext, externalContext });
resourceHelper.renderScriptLink(jsf.facesContext(), scriptPath);
resourceHelper.renderScriptLink(jsf.facesContext(), scriptPath);
verify(new Object[] { externalContext });
EasyMock.verify(new Object[] { externalContext });
String expectedOutput = "<script type=\"text/javascript\" src=\"" + expectedUrl + "\"/>";
@@ -71,14 +68,15 @@ public class FlowResourceHelperTests extends TestCase {
FlowDefinitionRequestInfo expectedRequest = new FlowDefinitionRequestInfo("resources", new RequestPath(
scriptPath), null, null);
expect(externalContext.buildFlowDefinitionUrl(requestInfoMatches(expectedRequest))).andReturn(expectedUrl);
EasyMock.expect(externalContext.buildFlowDefinitionUrl(requestInfoMatches(expectedRequest))).andReturn(
expectedUrl);
replay(new Object[] { requestContext, externalContext });
EasyMock.replay(new Object[] { requestContext, externalContext });
resourceHelper.renderStyleLink(jsf.facesContext(), scriptPath);
resourceHelper.renderStyleLink(jsf.facesContext(), scriptPath);
verify(new Object[] { externalContext });
EasyMock.verify(new Object[] { externalContext });
String expectedOutput = "<link type=\"text/css\" rel=\"stylesheet\" href=\"" + expectedUrl + "\"/>";

View File

@@ -1,8 +1,6 @@
package org.springframework.faces.ui.resource;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import org.easymock.EasyMock;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -20,8 +18,8 @@ import org.springframework.webflow.execution.RequestContext;
public class RenderResourceActionTests extends TestCase {
ExternalContext externalContext = createMock(ExternalContext.class);
RequestContext requestContext = createMock(RequestContext.class);
ExternalContext externalContext = (ExternalContext) EasyMock.createMock(ExternalContext.class);
RequestContext requestContext = (RequestContext) EasyMock.createMock(RequestContext.class);
ServletContext servletContext = new ResourceTestMockServletContext();
MockHttpServletResponse response = new MockHttpServletResponse();
MockHttpServletRequest request = new MockHttpServletRequest();
@@ -34,20 +32,20 @@ public class RenderResourceActionTests extends TestCase {
protected void setUp() throws Exception {
action = new RenderResourceAction();
expect(requestContext.getExternalContext()).andStubReturn(externalContext);
expect(externalContext.getContext()).andStubReturn(servletContext);
expect(externalContext.getResponse()).andStubReturn(response);
expect(externalContext.getRequest()).andStubReturn(request);
expect(externalContext.getResponseWriter()).andStubReturn(new PrintWriter(new StringWriter()));
EasyMock.expect(requestContext.getExternalContext()).andStubReturn(externalContext);
EasyMock.expect(externalContext.getContext()).andStubReturn(servletContext);
EasyMock.expect(externalContext.getResponse()).andStubReturn(response);
EasyMock.expect(externalContext.getRequest()).andStubReturn(request);
EasyMock.expect(externalContext.getResponseWriter()).andStubReturn(new PrintWriter(new StringWriter()));
}
public final void testExecute() throws Exception {
requestPath = new RequestPath("/ext/ext.js");
expect(externalContext.getRequestPath()).andStubReturn(requestPath);
EasyMock.expect(externalContext.getRequestPath()).andStubReturn(requestPath);
replay(new Object[] { requestContext, externalContext });
EasyMock.replay(new Object[] { requestContext, externalContext });
action.execute(requestContext);
}
@@ -56,9 +54,9 @@ public class RenderResourceActionTests extends TestCase {
requestPath = new RequestPath("/xxx/xxx.js");
expect(externalContext.getRequestPath()).andStubReturn(requestPath);
EasyMock.expect(externalContext.getRequestPath()).andStubReturn(requestPath);
replay(new Object[] { requestContext, externalContext });
EasyMock.replay(new Object[] { requestContext, externalContext });
action.execute(requestContext);

View File

@@ -1,8 +1,6 @@
package org.springframework.faces.webflow;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import org.easymock.EasyMock;
import javax.faces.component.UICommand;
import javax.faces.context.FacesContext;
@@ -24,7 +22,7 @@ public class FlowActionListenerTests extends TestCase {
JSFMockHelper jsfMock = new JSFMockHelper();
RequestContext context = createMock(RequestContext.class);
RequestContext context = (RequestContext) EasyMock.createMock(RequestContext.class);
protected void setUp() throws Exception {
jsfMock.setUp();
@@ -32,8 +30,8 @@ public class FlowActionListenerTests extends TestCase {
listener = new FlowActionListener(jsfMock.application().getActionListener());
RequestContextHolder.setRequestContext(context);
AttributeMap flash = new LocalAttributeMap();
expect(context.getFlashScope()).andStubReturn(flash);
replay(new Object[] { context });
EasyMock.expect(context.getFlashScope()).andStubReturn(flash);
EasyMock.replay(new Object[] { context });
}
protected void tearDown() throws Exception {

View File

@@ -1,8 +1,6 @@
package org.springframework.faces.webflow;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import org.easymock.EasyMock;
import java.util.Iterator;
@@ -23,7 +21,7 @@ public class FlowFacesContextTests extends TestCase {
FacesContext facesContext;
RequestContext requestContext = createMock(RequestContext.class);
RequestContext requestContext = (RequestContext) EasyMock.createMock(RequestContext.class);
MessageContext messageContext;
@@ -42,8 +40,8 @@ public class FlowFacesContextTests extends TestCase {
public final void testAddMessage() {
messageContext = new TestAddMessageContext();
expect(requestContext.getMessageContext()).andStubReturn(messageContext);
replay(new Object[] { requestContext });
EasyMock.expect(requestContext.getMessageContext()).andStubReturn(messageContext);
EasyMock.replay(new Object[] { requestContext });
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "foo", "foo"));
@@ -52,11 +50,11 @@ public class FlowFacesContextTests extends TestCase {
public final void testGetMessages() {
messageContext = new TestGetMessagesContext();
expect(requestContext.getMessageContext()).andStubReturn(messageContext);
replay(new Object[] { requestContext });
EasyMock.expect(requestContext.getMessageContext()).andStubReturn(messageContext);
EasyMock.replay(new Object[] { requestContext });
int iterationCount = 0;
Iterator<FacesMessage> i = facesContext.getMessages();
Iterator i = facesContext.getMessages();
while (i.hasNext()) {
assertNotNull(i.next());
iterationCount++;
@@ -66,11 +64,11 @@ public class FlowFacesContextTests extends TestCase {
public final void testGetMessagesByClientId() {
messageContext = new TestGetMessagesContext();
expect(requestContext.getMessageContext()).andStubReturn(messageContext);
replay(new Object[] { requestContext });
EasyMock.expect(requestContext.getMessageContext()).andStubReturn(messageContext);
EasyMock.replay(new Object[] { requestContext });
int iterationCount = 0;
Iterator<FacesMessage> i = facesContext.getMessages("componentId");
Iterator i = facesContext.getMessages("componentId");
while (i.hasNext()) {
assertNotNull(i.next());
iterationCount++;
@@ -80,13 +78,13 @@ public class FlowFacesContextTests extends TestCase {
public final void testGetClientIdsWithMessages() {
messageContext = new TestGetMessagesContext();
expect(requestContext.getMessageContext()).andStubReturn(messageContext);
replay(new Object[] { requestContext });
EasyMock.expect(requestContext.getMessageContext()).andStubReturn(messageContext);
EasyMock.replay(new Object[] { requestContext });
int iterationCount = 0;
Iterator<String> i = facesContext.getClientIdsWithMessages();
Iterator i = facesContext.getClientIdsWithMessages();
while (i.hasNext()) {
String id = i.next();
String id = (String) i.next();
assertEquals("componentId", id);
iterationCount++;
}
@@ -95,8 +93,8 @@ public class FlowFacesContextTests extends TestCase {
public final void testGetMaximumSeverity() {
messageContext = new TestGetMessagesContext();
expect(requestContext.getMessageContext()).andStubReturn(messageContext);
replay(new Object[] { requestContext });
EasyMock.expect(requestContext.getMessageContext()).andStubReturn(messageContext);
EasyMock.replay(new Object[] { requestContext });
assertEquals(FacesMessage.SEVERITY_ERROR, facesContext.getMaximumSeverity());
}

View File

@@ -3,6 +3,7 @@ package org.springframework.faces.webflow;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.faces.FacesException;
@@ -22,6 +23,7 @@ import org.springframework.binding.expression.ExpressionParser;
import org.springframework.webflow.context.ExternalContext;
import org.springframework.webflow.core.collection.AttributeMap;
import org.springframework.webflow.core.collection.LocalAttributeMap;
import org.springframework.webflow.core.collection.LocalParameterMap;
import org.springframework.webflow.core.expression.el.WebFlowELExpressionParser;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
@@ -37,7 +39,7 @@ public class JsfFinalResponseActionTests extends TestCase {
private JSFMockHelper jsfMock = new JSFMockHelper();
private RequestContext context = EasyMock.createMock(RequestContext.class);
private RequestContext context = (RequestContext) EasyMock.createMock(RequestContext.class);
private ViewHandler viewHandler = new NoRenderViewHandler();
@@ -74,6 +76,7 @@ public class JsfFinalResponseActionTests extends TestCase {
EasyMock.expect(context.getExternalContext()).andStubReturn(ext);
AttributeMap flash = new LocalAttributeMap();
EasyMock.expect(context.getFlashScope()).andStubReturn(flash);
EasyMock.expect(context.getRequestParameters()).andStubReturn(new LocalParameterMap(new HashMap()));
}
public void testRender() throws Exception {
@@ -109,7 +112,7 @@ public class JsfFinalResponseActionTests extends TestCase {
private class TrackingPhaseListener implements PhaseListener {
private List<String> phaseCallbacks = new ArrayList<String>();
private List phaseCallbacks = new ArrayList();
public void afterPhase(PhaseEvent event) {
String phaseCallback = "AFTER_" + event.getPhaseId();

View File

@@ -1,6 +1,7 @@
package org.springframework.faces.webflow;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.faces.FacesException;
@@ -20,6 +21,7 @@ import org.springframework.binding.expression.ExpressionParser;
import org.springframework.webflow.context.ExternalContext;
import org.springframework.webflow.core.collection.AttributeMap;
import org.springframework.webflow.core.collection.LocalAttributeMap;
import org.springframework.webflow.core.collection.LocalParameterMap;
import org.springframework.webflow.core.expression.el.WebFlowELExpressionParser;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
@@ -35,7 +37,7 @@ public class JsfViewFactoryTests extends TestCase {
private JSFMockHelper jsfMock = new JSFMockHelper();
private RequestContext context = EasyMock.createMock(RequestContext.class);
private RequestContext context = (RequestContext) EasyMock.createMock(RequestContext.class);
private AttributeMap flashMap = new LocalAttributeMap();
@@ -56,6 +58,7 @@ public class JsfViewFactoryTests extends TestCase {
RequestContextHolder.setRequestContext(context);
EasyMock.expect(context.getFlashScope()).andStubReturn(flashMap);
EasyMock.expect(context.getExternalContext()).andStubReturn(extContext);
EasyMock.expect(context.getRequestParameters()).andStubReturn(new LocalParameterMap(new HashMap()));
EasyMock.replay(new Object[] { context });
}
@@ -188,7 +191,7 @@ public class JsfViewFactoryTests extends TestCase {
assertEquals("View name did not match", VIEW_ID, ((JsfView) newView).getViewRoot().getViewId());
assertSame("View root was not the third party instance", newRoot, ((JsfView) newView).getViewRoot());
assertFalse("An unexpected event was signaled,", newView.eventSignaled());
assertFalse("The lifecycle should not have been invoked", ((NoEventLifecycle) lifecycle).executed);
assertTrue("The lifecycle should have been invoked", ((NoEventLifecycle) lifecycle).executed);
}
private class NoEventLifecycle extends FlowLifecycle {
@@ -214,7 +217,6 @@ public class JsfViewFactoryTests extends TestCase {
super(delegate);
}
@SuppressWarnings("unchecked")
public void execute(FacesContext context) throws FacesException {
assertFalse("Lifecycle executed more than once", executed);
super.execute(context);

View File

@@ -32,10 +32,11 @@ public class JsfViewTests extends TestCase {
private StringWriter output = new StringWriter();
private RequestContext requestContext = EasyMock.createMock(RequestContext.class);
private FlowExecutionContext flowExecutionContext = EasyMock.createMock(FlowExecutionContext.class);
private MutableAttributeMap flashMap = EasyMock.createMock(MutableAttributeMap.class);
private MutableAttributeMap flowMap = EasyMock.createMock(MutableAttributeMap.class);
private RequestContext requestContext = (RequestContext) EasyMock.createMock(RequestContext.class);
private FlowExecutionContext flowExecutionContext = (FlowExecutionContext) EasyMock
.createMock(FlowExecutionContext.class);
private MutableAttributeMap flashMap = (MutableAttributeMap) EasyMock.createMock(MutableAttributeMap.class);
private MutableAttributeMap flowMap = (MutableAttributeMap) EasyMock.createMock(MutableAttributeMap.class);
private FlowExecutionKey key = new FlowExecutionKey() {