1 5 package com.opensymphony.webwork.views.jsp; 6 7 import com.opensymphony.webwork.ServletActionContext; 8 import com.opensymphony.webwork.TestAction; 9 import com.opensymphony.webwork.config.Configuration; 10 import com.opensymphony.webwork.views.velocity.AbstractTagDirective; 11 import com.opensymphony.xwork.Action; 12 import com.opensymphony.xwork.ActionContext; 13 import com.opensymphony.xwork.util.OgnlValueStack; 14 import junit.framework.TestCase; 15 16 import javax.servlet.http.HttpServletResponse ; 17 import javax.servlet.jsp.JspWriter ; 18 import java.io.File ; 19 import java.io.StringWriter ; 20 import java.util.HashMap ; 21 import java.util.Map ; 22 23 24 29 public abstract class AbstractTagTest extends TestCase { 30 32 protected Action action; 33 protected Map context; 34 protected Map session; 35 protected OgnlValueStack stack; 36 37 40 protected StringWriter writer; 41 protected WebWorkMockHttpServletRequest request; 42 protected WebWorkMockPageContext pageContext; 43 protected HttpServletResponse response; 44 45 47 public AbstractTagTest() { 48 super(); 49 } 50 51 public AbstractTagTest(String s) { 52 super(s); 53 } 54 55 57 63 public Action getAction() { 64 return new TestAction(); 65 } 66 67 protected void setUp() throws Exception { 68 super.setUp(); 69 70 73 action = this.getAction(); 74 stack = new OgnlValueStack(); 75 context = stack.getContext(); 76 stack.push(action); 77 78 request = new WebWorkMockHttpServletRequest(); 79 request.setAttribute(ServletActionContext.WEBWORK_VALUESTACK_KEY, stack); 80 response = new WebWorkMockHttpServletResponse(); 81 request.setSession(new WebWorkMockHttpSession()); 82 83 writer = new StringWriter (); 84 85 JspWriter jspWriter = new WebWorkMockJspWriter(writer); 86 context.put(AbstractTagDirective.VELOCITY_WRITER, writer); 87 88 WebWorkMockServletContext servletContext = new WebWorkMockServletContext(); 89 servletContext.setRealPath(new File ("nosuchfile.properties").getAbsolutePath()); 90 servletContext.setServletInfo("Resin"); 91 92 pageContext = new WebWorkMockPageContext(); 93 pageContext.setRequest(request); 94 pageContext.setResponse(response); 95 pageContext.setJspWriter(jspWriter); 96 pageContext.setServletContext(servletContext); 97 98 context.put(ServletActionContext.HTTP_REQUEST, request); 99 context.put(ServletActionContext.HTTP_RESPONSE, response); 100 context.put(ServletActionContext.SERVLET_CONTEXT, servletContext); 101 102 session = new HashMap (); 103 104 ActionContext.setContext(new ActionContext(context)); 105 106 Configuration.setConfiguration(null); 107 } 108 109 protected void tearDown() throws Exception { 110 pageContext.verify(); 111 request.verify(); 112 } 113 } 114 | Popular Tags |