SWF-1424 Add Web Flow implementation of PartialViewContext to support render action in JSF 2 applications.

This commit is contained in:
Rossen Stoyanchev
2011-02-20 21:32:19 +00:00
parent 003377d6e1
commit ed76ec0485
3 changed files with 116 additions and 8 deletions

View File

@@ -0,0 +1,49 @@
package org.springframework.faces.webflow;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import javax.faces.context.PartialViewContext;
import javax.faces.context.PartialViewContextWrapper;
import junit.framework.TestCase;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
import org.springframework.webflow.execution.View;
import org.springframework.webflow.test.MockRequestContext;
public class FlowPartialViewContextTests extends TestCase {
public void testReturnFragmentIds() throws Exception {
String[] fragmentIds = new String[] { "foo", "bar" };
RequestContext requestContext = new MockRequestContext();
requestContext.getFlashScope().asMap().put(View.RENDER_FRAGMENTS_ATTRIBUTE, fragmentIds);
RequestContextHolder.setRequestContext(requestContext);
assertEquals(Arrays.asList(fragmentIds), new FlowPartialViewContext(null).getRenderIds());
}
public void testNoFragmentIds() throws Exception {
final List<String> renderIds = Arrays.asList("foo", "bar");
FlowPartialViewContext context = new FlowPartialViewContext(new PartialViewContextWrapper() {
public Collection<String> getRenderIds() {
return renderIds;
}
public void setPartialRequest(boolean isPartialRequest) {
}
public PartialViewContext getWrapped() {
return null;
}
});
RequestContextHolder.setRequestContext(new MockRequestContext());
assertEquals(renderIds, context.getRenderIds());
}
}