Author: martinc Date: Thu Jan 13 21:27:31 2005 New Revision: 125145 URL: http://svn.apache.org/viewcvs?view=rev&rev=125145 Log: Add tests for methods moved here from RequestUtils in 'core'. These tests came from TestRequestUtils. Modified: struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java
Modified: struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java Url: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java?view=diff&rev=125145&p1=struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java&r1=125144&p2=struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java&r2=125145 ============================================================================== --- struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java (original) +++ struts/taglib/trunk/src/test/org/apache/struts/taglib/TestTagUtils.java Thu Jan 13 21:27:31 2005 @@ -431,4 +431,553 @@ (String) map.get(Constants.TOKEN_KEY)); } + // ----------------------------------------------------------- computeURL() + + + // Default module -- Forward only + public void testComputeURL1a() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "foo", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/bar.jsp", + url); + + } + + + // Default module -- Href only + public void testComputeURL1b() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + "http://foo.com/bar", null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "http://foo.com/bar", + url); + + } + + + // Default module -- Page only + public void testComputeURL1c() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/bar", + url); + + } + + + // Default module -- Forward with pattern + public void testComputeURL1d() { + + moduleConfig.getControllerConfig().setForwardPattern + ("$C/WEB-INF/pages$M$P"); + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "foo", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/WEB-INF/pages/bar.jsp", + url); + + } + + + // Default module -- Page with pattern + public void testComputeURL1e() { + + moduleConfig.getControllerConfig().setPagePattern + ("$C/WEB-INF/pages$M$P"); + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/WEB-INF/pages/bar", + url); + + } + + + // Default module -- Forward with relative path (non-context-relative) + public void testComputeURL1f() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "relative1", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + // "/myapp/relative.jsp", + "relative.jsp", + url); + } + + + // Default module -- Forward with relative path (context-relative) + public void testComputeURL1g() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "relative2", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + // "/myapp/relative.jsp", + "relative.jsp", + url); + } + + + // Default module -- Forward with external path + public void testComputeURL1h() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "external", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "http://jakarta.apache.org/", + url); + } + + + // Second module -- Forward only + public void testComputeURL2a() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "foo", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/2/baz.jsp", + url); + + } + + + // Second module -- Href only + public void testComputeURL2b() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + "http://foo.com/bar", null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "http://foo.com/bar", + url); + + } + + + // Second module -- Page only + public void testComputeURL2c() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/2/bar", + url); + + } + + + // Default module -- Forward with pattern + public void testComputeURL2d() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + moduleConfig2.getControllerConfig().setForwardPattern + ("$C/WEB-INF/pages$M$P"); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "foo", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/WEB-INF/pages/2/baz.jsp", + url); + + } + + + // Second module -- Page with pattern + public void testComputeURL2e() { + + moduleConfig2.getControllerConfig().setPagePattern + ("$C/WEB-INF/pages$M$P"); + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/WEB-INF/pages/2/bar", + url); + + } + + + // Second module -- Forward with relative path (non-context-relative) + public void testComputeURL2f() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "relative1", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + // "/myapp/2/relative.jsp", + "relative.jsp", + url); + } + + + // Second module -- Forward with relative path (context-relative) + public void testComputeURL2g() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "relative2", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + // "/myapp/relative.jsp", + "relative.jsp", + url); + } + + + // Second module -- Forward with external path + public void testComputeURL2h() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, "external", + null, null, + null, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "http://jakarta.apache.org/", + url); + } + + + // Add parameters only -- forward URL + public void testComputeURL3a() { + + request.setPathElements("/myapp", "/action.do", null, null); + Map map = new HashMap(); + map.put("foo1", "bar1"); + map.put("foo2", "bar2"); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + map, null, false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertTrue("url value", + url.equals("/myapp/bar?foo1=bar1&foo2=bar2") || + url.equals("/myapp/bar?foo2=bar2&foo1=bar1")); + + } + + + // Add anchor only -- forward URL + public void testComputeURL3b() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, "anchor", false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/bar#anchor", + url); + + } + + + // Add parameters + anchor -- forward URL + public void testComputeURL3c() { + + request.setPathElements("/myapp", "/action.do", null, null); + Map map = new HashMap(); + map.put("foo1", "bar1"); + map.put("foo2", "bar2"); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + map, "anchor", false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertTrue("url value", + url.equals("/myapp/bar?foo1=bar1&foo2=bar2#anchor") || + url.equals("/myapp/bar?foo2=bar2&foo1=bar1#anchor")); + + } + + + // Add parameters only -- redirect URL + public void testComputeURL3d() { + + request.setPathElements("/myapp", "/action.do", null, null); + Map map = new HashMap(); + map.put("foo1", "bar1"); + map.put("foo2", "bar2"); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + map, null, true); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertTrue("url value", + url.equals("/myapp/bar?foo1=bar1&foo2=bar2") || + url.equals("/myapp/bar?foo2=bar2&foo1=bar1")); + + } + + + // Add anchor only -- redirect URL + public void testComputeURL3e() { + + request.setPathElements("/myapp", "/action.do", null, null); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + null, "anchor", true); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertEquals("url value", + "/myapp/bar#anchor", + url); + + } + + + // Add parameters + anchor -- redirect URL + public void testComputeURL3f() { + + request.setPathElements("/myapp", "/action.do", null, null); + Map map = new HashMap(); + map.put("foo1", "bar1"); + map.put("foo2", "bar2"); + String url = null; + try { + url = RequestUtils.computeURL + (page, null, + null, "/bar", + map, "anchor", false); + } catch (MalformedURLException e) { + fail("MalformedURLException: " + e); + } + assertNotNull("url present", url); + assertTrue("url value", + url.equals("/myapp/bar?foo1=bar1&foo2=bar2#anchor") || + url.equals("/myapp/bar?foo2=bar2&foo1=bar1#anchor")); + + } + + // -------------------------------------------------------------- pageURL() + + + // Default module (default pagePattern) + public void testPageURL1() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig); + request.setPathElements("/myapp", "/action.do", null, null); + String page = null; + String result = null; + + // Straight substitution + page = "/mypages/index.jsp"; + result = RequestUtils.pageURL(request, page); + assertNotNull("straight sub found", result); + assertEquals("straight sub value", + "/mypages/index.jsp", result); + + + } + + + // Second module (default pagePattern) + public void testPageURL2() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig2); + request.setPathElements("/myapp", "/2/action.do", null, null); + String page = null; + String result = null; + + // Straight substitution + page = "/mypages/index.jsp"; + result = RequestUtils.pageURL(request, page); + assertNotNull("straight sub found", result); + assertEquals("straight sub value", + "/2/mypages/index.jsp", result); + + + } + + + // Third module (custom pagePattern) + public void testPageURL3() { + + request.setAttribute(Globals.MODULE_KEY, moduleConfig3); + request.setPathElements("/myapp", "/3/action.do", null, null); + String page = null; + String result = null; + + // Straight substitution + page = "/mypages/index.jsp"; + result = RequestUtils.pageURL(request, page); + assertNotNull("straight sub found", result); + assertEquals("straight sub value", + "/paging/3/mypages/index.jsp", result); + + + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]