Author: apetrelli
Date: Tue Nov 16 20:24:12 2010
New Revision: 1035784
URL: http://svn.apache.org/viewvc?rev=1035784&view=rev
Log:
TILESSB-35
Added more tests and removed a useless exception.
Removed:
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/InvalidTemplateException.java
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/StringRenderer.java
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/render/DispatchRendererTest.java
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererTest.java
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/render/VelocityRenderer.java
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/render/VelocityRendererTest.java
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/DefinitionRenderer.java
tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/DefinitionRendererTest.java
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java
Tue Nov 16 20:24:12 2010
@@ -36,7 +36,7 @@ public class DispatchRenderer implements
@Override
public void render(String path, Request request) throws IOException {
if (path == null) {
- throw new InvalidTemplateException("Cannot dispatch a null path");
+ throw new CannotRenderException("Cannot dispatch a null path");
}
request.dispatch(path);
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/StringRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/StringRenderer.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/StringRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/StringRenderer.java
Tue Nov 16 20:24:12 2010
@@ -35,7 +35,7 @@ public class StringRenderer implements T
@Override
public void render(String value, Request request) throws IOException {
if (value == null) {
- throw new InvalidTemplateException("Cannot render a null string");
+ throw new CannotRenderException("Cannot render a null string");
}
request.getWriter().write(value);
}
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/render/DispatchRendererTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/render/DispatchRendererTest.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/render/DispatchRendererTest.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/render/DispatchRendererTest.java
Tue Nov 16 20:24:12 2010
@@ -26,8 +26,6 @@ import static org.junit.Assert.*;
import java.io.IOException;
import org.apache.tiles.request.Request;
-import org.apache.tiles.request.render.DispatchRenderer;
-import org.apache.tiles.request.render.InvalidTemplateException;
import org.junit.Before;
import org.junit.Test;
@@ -70,7 +68,7 @@ public class DispatchRendererTest {
*
* @throws IOException If something goes wrong during rendition.
*/
- @Test(expected=InvalidTemplateException.class)
+ @Test(expected=CannotRenderException.class)
public void testWriteNull() throws IOException {
Request requestContext = createMock(Request.class);
replay(requestContext);
@@ -89,6 +87,7 @@ public class DispatchRendererTest {
Request requestContext = createMock(Request.class);
replay(requestContext);
assertTrue(renderer.isRenderable("/myTemplate.jsp", requestContext));
+ assertFalse(renderer.isRenderable(null, requestContext));
verify(requestContext);
}
}
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
Tue Nov 16 20:24:12 2010
@@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.tiles.request.Request;
import org.apache.tiles.request.freemarker.FreemarkerRequestException;
import org.apache.tiles.request.freemarker.servlet.TilesFreemarkerServlet;
+import org.apache.tiles.request.render.CannotRenderException;
import org.apache.tiles.request.render.TypeDetectingRenderer;
import org.apache.tiles.request.servlet.ExternalWriterHttpServletResponse;
import org.apache.tiles.request.servlet.ServletRequest;
@@ -59,7 +60,7 @@ public class FreemarkerRenderer implemen
@Override
public void render(String path, Request request) throws IOException {
if (path == null) {
- throw new
org.apache.tiles.request.render.InvalidTemplateException("Cannot dispatch a
null path");
+ throw new CannotRenderException("Cannot dispatch a null path");
}
ServletRequest servletRequest =
org.apache.tiles.request.servlet.ServletUtil.getServletRequest(request);
HttpServletRequest httpRequest = servletRequest.getRequest();
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererTest.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererTest.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererTest.java
Tue Nov 16 20:24:12 2010
@@ -39,6 +39,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.request.freemarker.render.FreemarkerRenderer;
import org.apache.tiles.request.freemarker.render.FreemarkerRendererBuilder;
+import org.apache.tiles.request.render.CannotRenderException;
import org.apache.tiles.request.servlet.ServletApplicationContext;
import org.apache.tiles.request.servlet.ServletRequest;
import org.junit.Before;
@@ -159,6 +160,49 @@ public class FreemarkerRendererTest {
}
/**
+ * Tests {...@link FreemarkerRenderer#render(String,
org.apache.tiles.request.Request)}.
+ * @throws IOException If something goes wrong.
+ * @throws ServletException If something goes wrong.
+ */
+ @Test(expected=CannotRenderException.class)
+ public void testRenderException1() throws IOException, ServletException {
+ ApplicationContext applicationContext =
createMock(ServletApplicationContext.class);
+ ServletContext servletContext = createMock(ServletContext.class);
+ GenericServlet servlet =
createMockBuilder(GenericServlet.class).createMock();
+ ServletConfig servletConfig = createMock(ServletConfig.class);
+ ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
+
+ replay(servlet, servletConfig);
+ servlet.init(servletConfig);
+
+
expect(applicationContext.getContext()).andReturn(servletContext).anyTimes();
+
expect(servletContext.getRealPath(isA(String.class))).andReturn(null).anyTimes();
+ URL resource = getClass().getResource("/test.ftl");
+
expect(servletContext.getResource(isA(String.class))).andReturn(resource).anyTimes();
+
+ replay(applicationContext, servletContext, objectWrapper);
+
+ FreemarkerRenderer renderer = FreemarkerRendererBuilder
+ .createInstance().setApplicationContext(applicationContext)
+ .setParameter("TemplatePath", "/")
+ .setParameter("NoCache", "true")
+ .setParameter("ContentType", "text/html")
+ .setParameter("template_update_delay", "0")
+ .setParameter("default_encoding", "ISO-8859-1")
+ .setParameter("number_format", "0.##########").build();
+
+ ServletRequest request = createMock(ServletRequest.class);
+
+ replay(request);
+ try {
+ renderer.render(null, request);
+ } finally {
+ verify(applicationContext, servletContext, request, servlet,
+ servletConfig, objectWrapper);
+ }
+ }
+
+ /**
* Test method for
* {...@link FreemarkerRenderer
* #isRenderable(Object, org.apache.tiles.Attribute,
org.apache.tiles.context.TilesRequestContext)}
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/render/VelocityRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/render/VelocityRenderer.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/render/VelocityRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/render/VelocityRenderer.java
Tue Nov 16 20:24:12 2010
@@ -24,7 +24,7 @@ package org.apache.tiles.request.velocit
import java.io.IOException;
import org.apache.tiles.request.Request;
-import org.apache.tiles.request.render.InvalidTemplateException;
+import org.apache.tiles.request.render.CannotRenderException;
import org.apache.tiles.request.render.TypeDetectingRenderer;
import org.apache.tiles.request.servlet.ServletRequest;
import org.apache.tiles.request.servlet.ServletUtil;
@@ -57,7 +57,7 @@ public class VelocityRenderer implements
@Override
public void render(String path, Request request) throws IOException {
if (path == null) {
- throw new InvalidTemplateException("Cannot dispatch a null path");
+ throw new CannotRenderException("Cannot dispatch a null path");
}
ServletRequest servletRequest = ServletUtil.getServletRequest(request);
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/render/VelocityRendererTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/render/VelocityRendererTest.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/render/VelocityRendererTest.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/render/VelocityRendererTest.java
Tue Nov 16 20:24:12 2010
@@ -30,6 +30,7 @@ import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.tiles.request.render.CannotRenderException;
import org.apache.tiles.request.render.TypeDetectingRenderer;
import org.apache.tiles.request.servlet.ServletRequest;
import org.apache.tiles.request.velocity.render.VelocityRenderer;
@@ -73,6 +74,24 @@ public class VelocityRendererTest {
}
/**
+ * Tests {...@link VelocityRenderer#render(String,
org.apache.tiles.request.Request)}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test(expected=CannotRenderException.class)
+ public void testRenderException() throws IOException {
+ VelocityView view = createMock(VelocityView.class);
+ ServletRequest request = createMock(ServletRequest.class);
+
+ replay(view, request);
+ TypeDetectingRenderer renderer = new VelocityRenderer(view);
+ try {
+ renderer.render(null, request);
+ } finally {
+ verify(view, request);
+ }
+ }
+
+ /**
* Test method for
* {...@link VelocityRenderer#isRenderable(String,
org.apache.tiles.request.Request)}
* .
Modified:
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/DefinitionRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/DefinitionRenderer.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/DefinitionRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/DefinitionRenderer.java
Tue Nov 16 20:24:12 2010
@@ -24,7 +24,7 @@ import java.io.IOException;
import org.apache.tiles.TilesContainer;
import org.apache.tiles.request.Request;
-import org.apache.tiles.request.render.InvalidTemplateException;
+import org.apache.tiles.request.render.CannotRenderException;
import org.apache.tiles.request.render.TypeDetectingRenderer;
/**
@@ -48,7 +48,7 @@ public class DefinitionRenderer implemen
@Override
public void render(String path, Request request) throws IOException {
if (path == null) {
- throw new InvalidTemplateException("Cannot dispatch a null path");
+ throw new CannotRenderException("Cannot dispatch a null path");
}
container.render(path, request);
Modified:
tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/DefinitionRendererTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/DefinitionRendererTest.java?rev=1035784&r1=1035783&r2=1035784&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/DefinitionRendererTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/DefinitionRendererTest.java
Tue Nov 16 20:24:12 2010
@@ -28,6 +28,7 @@ import java.io.IOException;
import org.apache.tiles.TilesContainer;
import org.apache.tiles.renderer.DefinitionRenderer;
import org.apache.tiles.request.Request;
+import org.apache.tiles.request.render.CannotRenderException;
import org.junit.Before;
import org.junit.Test;
@@ -72,6 +73,23 @@ public class DefinitionRendererTest {
/**
* Tests
+ * {...@link DefinitionRenderer#render(String, Request)}.
+ *
+ * @throws IOException If something goes wrong during rendition.
+ */
+ @Test(expected=CannotRenderException.class)
+ public void testRenderException() throws IOException {
+ Request requestContext = createMock(Request.class);
+ replay(requestContext, container);
+ try {
+ renderer.render(null, requestContext);
+ } finally {
+ verify(requestContext, container);
+ }
+ }
+
+ /**
+ * Tests
* {...@link DefinitionRenderer#isRenderable(String, Request)}
* .
*/
@@ -81,6 +99,7 @@ public class DefinitionRendererTest {
expect(container.isValidDefinition("my.definition",
requestContext)).andReturn(Boolean.TRUE);
replay(requestContext, container);
assertTrue(renderer.isRenderable("my.definition", requestContext));
+ assertFalse(renderer.isRenderable(null, requestContext));
verify(requestContext, container);
}
}