1 7 package com.inversoft.verge.mvc.controller.test; 8 9 10 import com.inversoft.junit.Request; 11 import com.inversoft.junit.URL; 12 import com.inversoft.junit.internal.http.MockHttpServletResponse; 13 import com.inversoft.verge.mvc.MVCException; 14 import com.inversoft.verge.mvc.MVCRegistry; 15 import com.inversoft.verge.mvc.MVCRequest; 16 import com.inversoft.verge.mvc.controller.DefaultControllerParser; 17 import com.inversoft.verge.mvc.junit.VergeMVCTestCase; 18 19 20 29 public class DefaultControllerParserTest extends VergeMVCTestCase { 30 31 35 public DefaultControllerParserTest(String name) { 36 super(name); 37 setLocal(true); 38 } 39 40 41 public void beginSimpleCall(Request request) { 42 URL url = createMVCURL(null, "default", "/a.action"); 43 request.setURL(url); 44 } 45 46 49 public void testSimpleCall() { 50 TestControllerHandler handler = new TestControllerHandler(); 51 MVCRegistry.register("default", handler); 52 53 handler.called = false; 55 try { 56 MVCRequest mvcRequest = new MVCRequest(request, response); 57 DefaultControllerParser parser = new DefaultControllerParser(); 58 parser.preExecute(mvcRequest); 59 parser.execute(mvcRequest); 60 assertTrue("Should have called handler", handler.called); 61 } catch (MVCException e) { 62 fail(e.toString()); 63 } 64 } 65 66 69 public void beginNoPathInfo(Request request) { 70 URL url = new URL(null, null, null, null, null, "/"); 71 request.setURL(url); 72 } 73 74 77 public void testNoPathInfo() { 78 79 DefaultControllerParser parser = new DefaultControllerParser(); 81 MVCRequest mvcRequest = new MVCRequest(request, response); 82 try { 83 parser.preExecute(mvcRequest); 84 parser.execute(mvcRequest); 85 fail("Should have failed"); 86 } catch (MVCException e) { 87 } 89 } 90 91 94 public void beginOutOfOrder(Request request) { 95 URL url = createMVCURL(null, "default", "/a.action"); 96 request.setURL(url); 97 } 98 99 102 public void testOutOfOrder() { 103 104 TestControllerHandler handler = new TestControllerHandler(); 105 MVCRegistry.register("default", handler); 106 107 DefaultControllerParser parser = new DefaultControllerParser(); 109 MVCRequest mvcRequest = new MVCRequest(request, response); 110 try { 111 parser.execute(mvcRequest); 112 } catch (MVCException e) { 113 fail(e.toString()); 114 } 115 } 116 117 120 public void beginResultForward(Request request) { 121 URL url = createMVCURL(null, "default", "/a.action"); 122 request.setURL(url); 123 } 124 125 128 public void testResultForward() { 129 130 TestControllerHandler handler = new TestControllerHandler(); 131 MVCRegistry.register("default", handler); 132 133 DefaultControllerParser parser = new DefaultControllerParser(); 135 MVCRequest mvcRequest = new MVCRequest(request, response); 136 try { 137 getRequest().setParameter("resultForward", "true"); 138 parser.preExecute(mvcRequest); 139 parser.execute(mvcRequest); 140 assertEquals("/url", getRequest().getRequestDispatcher().getURL()); 141 assertTrue(getRequest().getRequestDispatcher().isForwarded()); 142 } catch (MVCException e) { 143 fail(e.toString()); 144 } 145 } 146 147 150 public void beginResultRedirect(Request request) { 151 URL url = createMVCURL(null, "default", "/a.action"); 152 request.setURL(url); 153 } 154 155 158 public void testResultRedirect() { 159 160 TestControllerHandler handler = new TestControllerHandler(); 161 MVCRegistry.register("default", handler); 162 163 DefaultControllerParser parser = new DefaultControllerParser(); 165 MVCRequest mvcRequest = new MVCRequest(request, response); 166 try { 167 getRequest().setParameter("resultRedirect", "true"); 168 parser.preExecute(mvcRequest); 169 parser.execute(mvcRequest); 170 assertEquals("/url", getResponse().getRedirectURL()); 171 } catch (MVCException e) { 172 fail(e.toString()); 173 } 174 } 175 176 179 public void beginResultRedirectEncode(Request request) { 180 URL url = createMVCURL(null, "default", "/a.action"); 181 request.setURL(url); 182 } 183 184 188 public void testResultRedirectEncode() { 189 190 TestControllerHandler handler = new TestControllerHandler(); 191 MVCRegistry.register("default", handler); 192 193 DefaultControllerParser parser = new DefaultControllerParser(); 195 MVCRequest mvcRequest = new MVCRequest(request, response); 196 try { 197 getResponse().setEncode(true); 198 getRequest().setParameter("resultRedirect", "true"); 199 parser.preExecute(mvcRequest); 200 parser.execute(mvcRequest); 201 assertEquals("/url" + MockHttpServletResponse.ENCODE_REDIRECT_STR, 202 getResponse().getRedirectURL()); 203 } catch (MVCException e) { 204 fail(e.toString()); 205 } 206 } 207 } | Popular Tags |