You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2009/04/05 23:40:15 UTC

svn commit: r762165 - in /tiles/framework/trunk/tiles-velocity/src/test/java/org: ./ apache/ apache/tiles/ apache/tiles/velocity/ apache/tiles/velocity/context/

Author: apetrelli
Date: Sun Apr  5 21:40:14 2009
New Revision: 762165

URL: http://svn.apache.org/viewvc?rev=762165&view=rev
Log:
TILES-382
First bunch of tiles-velocity tests.

Added:
    tiles/framework/trunk/tiles-velocity/src/test/java/org/
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java   (with props)
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java   (with props)
    tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java   (with props)

Added: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java?rev=762165&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java Sun Apr  5 21:40:14 2009
@@ -0,0 +1,40 @@
+/**
+ * 
+ */
+package org.apache.tiles.velocity.context;
+
+import static org.junit.Assert.*;
+import static org.easymock.EasyMock.*;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.junit.Test;
+
+/**
+ * @author antonio
+ *
+ */
+public class ExternalWriterHttpServletResponseTest {
+
+    /**
+     * Test method for {@link org.apache.tiles.velocity.context.ExternalWriterHttpServletResponse#getWriter()}.
+     * @throws IOException If something goes wrong.
+     */
+    @Test
+    public void testGetWriter() throws IOException {
+        HttpServletResponse wrappedResponse = createMock(HttpServletResponse.class);
+        Writer writer = new StringWriter();
+        PrintWriter printWriter = new PrintWriter(writer);
+        replay(wrappedResponse);
+        ExternalWriterHttpServletResponse response = new ExternalWriterHttpServletResponse(
+                wrappedResponse, printWriter);
+        assertEquals(printWriter, response.getWriter());
+        verify(wrappedResponse);
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponseTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java?rev=762165&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java Sun Apr  5 21:40:14 2009
@@ -0,0 +1,57 @@
+package org.apache.tiles.velocity.context;
+
+import static org.junit.Assert.*;
+import static org.easymock.classextension.EasyMock.*;
+
+import java.io.StringWriter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.context.TilesRequestContextFactory;
+import org.apache.velocity.context.Context;
+import org.junit.Test;
+
+/**
+ * @author antonio
+ *
+ */
+public class VelocityTilesRequestContextFactoryTest {
+
+    /**
+     * The object to test.
+     */
+    private VelocityTilesRequestContextFactory factory;
+    
+    /**
+     * Tests {@link VelocityTilesRequestContextFactory#createRequestContext(TilesApplicationContext, Object...)}. 
+     */
+    @Test
+    public void testCreateRequestContext() {
+        StringWriter writer = new StringWriter();
+        TilesRequestContextFactory parentFactory = createMock(TilesRequestContextFactory.class);
+        TilesApplicationContext applicationContext = createMock(TilesApplicationContext.class);
+        Context velocityContext = createMock(Context.class);
+        HttpServletRequest request = createMock(HttpServletRequest.class);
+        HttpServletResponse response = createMock(HttpServletResponse.class);
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+        expect(enclosedRequest.getRequestObjects()).andReturn(new Object[] {request, response});
+        expect(parentFactory.createRequestContext(applicationContext, request, response)).andReturn(enclosedRequest);
+        replay(parentFactory, enclosedRequest, applicationContext, velocityContext, request, response);
+        factory = new VelocityTilesRequestContextFactory();
+        factory.setRequestContextFactory(parentFactory);
+        VelocityTilesRequestContext context = (VelocityTilesRequestContext) factory
+                .createRequestContext(applicationContext, velocityContext,
+                        request, response, writer);
+        assertEquals(enclosedRequest, context.getWrappedRequest());
+        Object[] requestItems = context.getRequestObjects();
+        assertEquals(4, requestItems.length);
+        assertEquals(velocityContext, requestItems[0]);
+        assertEquals(request, requestItems[1]);
+        assertEquals(response, requestItems[2]);
+        assertEquals(writer, requestItems[3]);
+        verify(parentFactory, enclosedRequest, applicationContext, velocityContext, request, response);
+    }
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactoryTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java?rev=762165&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java Sun Apr  5 21:40:14 2009
@@ -0,0 +1,157 @@
+package org.apache.tiles.velocity.context;
+
+import static org.junit.Assert.*;
+import static org.easymock.classextension.EasyMock.*;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.velocity.context.Context;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author antonio
+ *
+ */
+public class VelocityTilesRequestContextTest {
+
+    /**
+     * The request context to test.
+     */
+    private VelocityTilesRequestContext context;
+    
+    /**
+     * The Velocity context.
+     */
+    private Context velocityContext;
+    
+    /**
+     * A string writer.
+     */
+    private StringWriter writer;
+    
+    /**
+     * @throws java.lang.Exception If something goes wrong.
+     */
+    @Before
+    public void setUp() throws Exception {
+        velocityContext = createMock(Context.class);
+        writer = new StringWriter();
+    }
+
+    /**
+     * Tests {@link VelocityTilesRequestContext#dispatch(String)}.
+     * 
+     * @throws IOException If something goes wrong.
+     * @throws ServletException If something goes wrong.
+     */
+    @Test
+    public void testDispatch() throws IOException, ServletException {
+        String path = "this way";
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+        HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
+        HttpServletResponse response = createMock(HttpServletResponse.class);
+        RequestDispatcher dispatcher = createMock(RequestDispatcher.class);
+        
+        servletRequest.setAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME, true);
+        expect(servletRequest.getRequestDispatcher("this way")).andReturn(dispatcher);
+        dispatcher.include(eq(servletRequest), isA(ExternalWriterHttpServletResponse.class));
+        replay(servletRequest, response, dispatcher);
+        Object[] requestItems = new Object[] {servletRequest, response};
+        
+        expect(enclosedRequest.getRequestObjects()).andReturn(requestItems);
+        
+        replay(velocityContext, enclosedRequest);
+        context = new VelocityTilesRequestContext(enclosedRequest, velocityContext, writer);
+        context.dispatch(path);
+        verify(velocityContext, enclosedRequest, servletRequest, response, dispatcher);
+    }
+
+    /**
+     * Tests {@link VelocityTilesRequestContext#include(String)}.
+     * 
+     * @throws IOException If something goes wrong.
+     * @throws ServletException If something goes wrong.
+     */
+    @Test
+    public void testInclude() throws IOException, ServletException {
+        String path = "this way";
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+        HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
+        HttpServletResponse response = createMock(HttpServletResponse.class);
+        RequestDispatcher dispatcher = createMock(RequestDispatcher.class);
+        
+        servletRequest.setAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME, true);
+        expect(servletRequest.getRequestDispatcher("this way")).andReturn(dispatcher);
+        dispatcher.include(eq(servletRequest), isA(ExternalWriterHttpServletResponse.class));
+        replay(servletRequest, response, dispatcher);
+        Object[] requestItems = new Object[] {servletRequest, response};
+        
+        expect(enclosedRequest.getRequestObjects()).andReturn(requestItems);
+        
+        replay(velocityContext, enclosedRequest);
+        context = new VelocityTilesRequestContext(enclosedRequest, velocityContext, writer);
+        context.include(path);
+        verify(velocityContext, enclosedRequest, servletRequest, response, dispatcher);
+    }
+
+    /**
+     * Tests {@link VelocityTilesRequestContext#getPrintWriter()}.
+     * 
+     * @throws IOException If something goes wrong.
+     */
+    @Test
+    public void testGetPrintWriter() throws IOException {
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+
+        replay(velocityContext, enclosedRequest);
+        context = new VelocityTilesRequestContext(enclosedRequest, velocityContext, writer);
+        assertNotNull(context.getPrintWriter());
+        verify(velocityContext, enclosedRequest);
+    }
+
+    /**
+     * Tests {@link VelocityTilesRequestContext#getWriter()}.
+     * 
+     * @throws IOException If something goes wrong.
+     */
+    @Test
+    public void testGetWriter() throws IOException {
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+
+        replay(velocityContext, enclosedRequest);
+        context = new VelocityTilesRequestContext(enclosedRequest, velocityContext, writer);
+        assertEquals(writer, context.getWriter());
+        verify(velocityContext, enclosedRequest);
+    }
+
+    /**
+     * Tests {@link VelocityTilesRequestContext#getRequestObjects()}.
+     * @throws IOException If something goes wrong.
+     * @throws ServletException If something goes wrong.
+     */
+    @Test
+    public void testGetRequestObjects() throws ServletException, IOException {
+        TilesRequestContext enclosedRequest = createMock(TilesRequestContext.class);
+        HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
+        HttpServletResponse response = createMock(HttpServletResponse.class);
+        
+        replay(servletRequest, response);
+        Object[] requestItems = new Object[] {servletRequest, response};
+        
+        expect(enclosedRequest.getRequestObjects()).andReturn(requestItems);
+        
+        replay(velocityContext, enclosedRequest);
+        context = new VelocityTilesRequestContext(enclosedRequest, velocityContext, writer);
+        assertArrayEquals(new Object[] {velocityContext, servletRequest, response, writer}, context.getRequestObjects());
+        verify(velocityContext, enclosedRequest, servletRequest, response);
+    }
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/test/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL