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);
     }
 }


Reply via email to