public void testDestroyVariable() { ViewVariable var = new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return "bar"; } public void restoreReferences(Object value, RequestContext context) { } }); Flow flow = new Flow("flow"); ViewState view = new ViewState(flow, "view", new StubViewFactory()); MockRequestControlContext context = new MockRequestControlContext(flow); view.enter(context); var.create(context); assertEquals("bar", context.getViewScope().get("foo")); var.destroy(context); assertFalse(context.getViewScope().contains("foo")); }
public void testResolveViewScope() { MockRequestControlContext context = new MockRequestControlContext(); ViewState state = new ViewState(context.getRootFlow(), "view", new StubViewFactory()); context.setCurrentState(state); context.getViewScope().put("foo", "bar"); Expression exp = parser.parseExpression("foo", new FluentParserContext().evaluate(RequestContext.class)); assertEquals("bar", exp.getValue(context)); }
public void testCreateVariable() { ViewVariable var = new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return "bar"; } public void restoreReferences(Object value, RequestContext context) { } }); Flow flow = new Flow("flow"); ViewState view = new ViewState(flow, "view", new StubViewFactory()); MockRequestControlContext context = new MockRequestControlContext(flow); view.enter(context); var.create(context); assertEquals("bar", context.getViewScope().get("foo")); }
public void testSetViewScope() { MockRequestControlContext context = new MockRequestControlContext(); ViewState state = new ViewState(context.getRootFlow(), "view", new StubViewFactory()); context.setCurrentState(state); context.getViewScope().put("foo", "bar"); Expression exp = parser.parseExpression("foo", new FluentParserContext().evaluate(RequestContext.class)); exp.setValue(context, "baz"); assertEquals("baz", exp.getValue(context)); }
public void testRestoreVariable() { ViewVariable var = new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return "bar"; } public void restoreReferences(Object value, RequestContext context) { restoreCalled = true; assertEquals("bar", value); } }); Flow flow = new Flow("flow"); ViewState view = new ViewState(flow, "view", new StubViewFactory()); MockRequestControlContext context = new MockRequestControlContext(flow); view.enter(context); var.create(context); var.restore(context); assertEquals("bar", context.getViewScope().get("foo")); assertTrue(restoreCalled); }
public void testResumeViewStateForEventDestroyVariables() { Flow flow = new Flow("myFlow"); StubViewFactory viewFactory = new StubViewFactory(); ViewState state = new ViewState(flow, "viewState", viewFactory); state.addVariable(new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return "bar"; } public void restoreReferences(Object value, RequestContext context) { } })); state.getTransitionSet().add(new Transition(on("submit"), to("next"))); new ViewState(flow, "next", viewFactory); MockRequestControlContext context = new MockRequestControlContext(flow); state.enter(context); assertTrue(context.getViewScope().contains("foo")); context = new MockRequestControlContext(context.getFlowExecutionContext()); context.putRequestParameter("_eventId", "submit"); state.resume(context); assertTrue(context.getFlowExecutionContext().isActive()); assertEquals("next", context.getCurrentState().getId()); assertFalse(context.getViewScope().contains("foo")); }
public void testResumeViewStateRestoreVariables() { Flow flow = new Flow("myFlow"); StubViewFactory viewFactory = new StubViewFactory(); ViewState state = new ViewState(flow, "viewState", viewFactory); state.addVariable(new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return new TestBean(); } public void restoreReferences(Object value, RequestContext context) { ((TestBean) value).datum1 = "Restored"; } })); MockRequestControlContext context = new MockRequestControlContext(flow); state.enter(context); context = new MockRequestControlContext(context.getFlowExecutionContext()); state.resume(context); assertTrue("Render not called", context.getFlowScope().contains("renderCalled")); assertFalse(context.getMockExternalContext().getFlowExecutionRedirectRequested()); assertEquals("Restored", ((TestBean) context.getViewScope().get("foo")).datum1); }
public void testEnterViewStateWithVariables() { Flow flow = new Flow("myFlow"); StubViewFactory viewFactory = new StubViewFactory(); ViewState state = new ViewState(flow, "viewState", viewFactory); state.addVariable(new ViewVariable("foo", new VariableValueFactory() { public Object createInitialValue(RequestContext context) { return "bar"; } public void restoreReferences(Object value, RequestContext context) { } })); MockRequestControlContext context = new MockRequestControlContext(flow); state.enter(context); assertEquals("bar", context.getViewScope().getString("foo")); assertTrue("Render not called", context.getFlowScope().contains("renderCalled")); assertTrue(context.getExternalContext().isResponseComplete()); assertFalse(context.getMockExternalContext().getFlowExecutionRedirectRequested()); }