Package org.springframework.webflow.expression.el

Source Code of org.springframework.webflow.expression.el.FlowDependentELResolverTestCase

package org.springframework.webflow.expression.el;

import java.util.List;

import javax.el.ELContext;
import javax.el.ELResolver;

import junit.framework.TestCase;

import org.springframework.binding.expression.el.DefaultELContext;
import org.springframework.binding.expression.el.DefaultELResolver;
import org.springframework.webflow.engine.ViewState;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
import org.springframework.webflow.execution.View;
import org.springframework.webflow.execution.ViewFactory;
import org.springframework.webflow.test.MockFlowSession;
import org.springframework.webflow.test.MockRequestContext;

public abstract class FlowDependentELResolverTestCase extends TestCase {

  protected ELContext context;

  public void setUp() {
    context = new DefaultELContext(new DefaultELResolver(getCustomResolvers()), null, null);
  }

  public void tearDown() {
    RequestContextHolder.setRequestContext(null);
  }

  public void testGetType_NoActiveFlow() {
    assertNull("getType should return null when no flow is active",
        context.getELResolver().getType(context, null, getBaseVariable()));
    assertFalse(context.isPropertyResolved());
  }

  public void testGetValue_NoActiveFlow() {
    assertNull("getValue should return null when no flow is active",
        context.getELResolver().getValue(context, null, getBaseVariable()));
    assertFalse(context.isPropertyResolved());
  }

  public void testIsReadOnly_NoActiveFlow() {
    assertFalse("isReadOnly should return false when no flow is active",
        context.getELResolver().isReadOnly(context, null, getBaseVariable()));
    assertFalse(context.isPropertyResolved());
  }

  public void testSetValue_NoActiveFlow() {
    context.getELResolver().setValue(context, null, getBaseVariable(), null);
    assertFalse("setValue should be a no-op when no flow is active", context.isPropertyResolved());
  }

  protected void initView(MockRequestContext requestContext) {
    ((MockFlowSession) requestContext.getFlowExecutionContext().getActiveSession()).setState(new ViewState(
        requestContext.getRootFlow(), "view", new ViewFactory() {
          public View getView(RequestContext context) {
            throw new UnsupportedOperationException("Auto-generated method stub");
          }
        }));
  }

  protected abstract String getBaseVariable();

  protected abstract List<ELResolver> getCustomResolvers();

}
TOP

Related Classes of org.springframework.webflow.expression.el.FlowDependentELResolverTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.