Author: apetrelli
Date: Fri Dec  5 05:18:33 2008
New Revision: 723729

URL: http://svn.apache.org/viewvc?rev=723729&view=rev
Log:
TILESSB-3
Added test cases for FreeMarker Tiles contexts.

Added:
    
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
   (with props)
Modified:
    
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextTest.java

Added: 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java?rev=723729&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
 Fri Dec  5 05:18:33 2008
@@ -0,0 +1,51 @@
+package org.apache.tiles.freemarker.context;
+
+import java.io.StringWriter;
+import java.util.HashMap;
+
+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.easymock.classextension.EasyMock;
+
+import freemarker.core.Environment;
+import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.template.ObjectWrapper;
+import freemarker.template.Template;
+import freemarker.template.TemplateHashModel;
+import freemarker.template.TemplateModelException;
+import junit.framework.TestCase;
+
+public class FreeMarkerTilesRequestContextFactoryTest extends TestCase{
+
+    private FreeMarkerTilesRequestContextFactory factory;
+    
+    public void testCreateRequestContext() throws TemplateModelException {
+        Template template = EasyMock.createMock(Template.class);
+        TemplateHashModel model = EasyMock.createMock(TemplateHashModel.class);
+        StringWriter writer = new StringWriter();
+        EasyMock.expect(template.getMacros()).andReturn(new HashMap<Object, 
Object>());
+        TilesRequestContextFactory parentFactory = 
EasyMock.createMock(TilesRequestContextFactory.class);
+        TilesApplicationContext applicationContext = 
EasyMock.createMock(TilesApplicationContext.class);
+        HttpServletRequest request = 
EasyMock.createMock(HttpServletRequest.class);
+        HttpServletResponse response = 
EasyMock.createMock(HttpServletResponse.class);
+        ObjectWrapper wrapper = EasyMock.createMock(ObjectWrapper.class);
+        HttpRequestHashModel requestModel = new HttpRequestHashModel(request, 
response, wrapper);
+        EasyMock.expect(model.get("Request")).andReturn(requestModel);
+        TilesRequestContext enclosedRequest = 
EasyMock.createMock(TilesRequestContext.class);
+        EasyMock.expect(parentFactory.createRequestContext(applicationContext, 
request, response)).andReturn(enclosedRequest);
+        EasyMock.replay(template, model, parentFactory, applicationContext, 
request, response, wrapper);
+        Environment env = new Environment(template, model, writer);
+        factory = new FreeMarkerTilesRequestContextFactory();
+        factory.setRequestContextFactory(parentFactory);
+        FreeMarkerTilesRequestContext context = 
(FreeMarkerTilesRequestContext) factory
+                .createRequestContext(applicationContext, env);
+        assertEquals(env, context.getRequest());
+        assertEquals(enclosedRequest, context.getWrappedRequest());
+        
+    }
+
+}

Propchange: 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactoryTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextTest.java?rev=723729&r1=723728&r2=723729&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextTest.java
 Fri Dec  5 05:18:33 2008
@@ -1,20 +1,28 @@
 package org.apache.tiles.freemarker.context;
 
+import java.io.IOException;
 import java.io.StringWriter;
 import java.util.HashMap;
+import java.util.Locale;
 
+import junit.framework.TestCase;
+
+import org.apache.tiles.context.TilesRequestContext;
 import org.easymock.classextension.EasyMock;
 
 import freemarker.core.Environment;
 import freemarker.template.Template;
 import freemarker.template.TemplateHashModel;
-import junit.framework.TestCase;
 
 public class FreeMarkerTilesRequestContextTest extends TestCase {
 
     private FreeMarkerTilesRequestContext context;
     
     private StringWriter writer;
+
+    private Environment env;
+    
+    private Locale locale;
     
     protected void setUp() throws Exception {
         Template template = EasyMock.createMock(Template.class);
@@ -22,27 +30,42 @@
         writer = new StringWriter();
         EasyMock.expect(template.getMacros()).andReturn(new HashMap<Object, 
Object>());
         EasyMock.replay(template, model);
-        Environment env = new Environment(template, model, writer);
-    }
-
-    public void testGetRequestScope() {
-        fail("Not yet implemented");
+        env = new Environment(template, model, writer);
+        locale = Locale.ITALY;
+        env.setLocale(locale);
     }
 
-    public void testDispatch() {
-        fail("Not yet implemented");
+    public void testDispatch() throws IOException {
+        String path = "this way";
+        TilesRequestContext enclosedRequest = 
EasyMock.createMock(TilesRequestContext.class);
+        enclosedRequest.include(path);
+        EasyMock.replay(enclosedRequest);
+        context = new FreeMarkerTilesRequestContext(enclosedRequest, env);
+        context.dispatch(path);
+        EasyMock.verify(enclosedRequest);
     }
 
     public void testGetRequestLocale() {
-        fail("Not yet implemented");
+        TilesRequestContext enclosedRequest = 
EasyMock.createMock(TilesRequestContext.class);
+        EasyMock.replay(enclosedRequest);
+        context = new FreeMarkerTilesRequestContext(enclosedRequest, env);
+        assertEquals(locale, context.getRequestLocale());
+        EasyMock.verify(enclosedRequest);
     }
 
     public void testGetRequest() {
-        fail("Not yet implemented");
+        TilesRequestContext enclosedRequest = 
EasyMock.createMock(TilesRequestContext.class);
+        EasyMock.replay(enclosedRequest);
+        context = new FreeMarkerTilesRequestContext(enclosedRequest, env);
+        assertEquals(env, context.getRequest());
+        EasyMock.verify(enclosedRequest);
     }
 
-    public void testFreeMarkerTilesRequestContext() {
-        fail("Not yet implemented");
+    public void testGetResponse() {
+        TilesRequestContext enclosedRequest = 
EasyMock.createMock(TilesRequestContext.class);
+        EasyMock.replay(enclosedRequest);
+        context = new FreeMarkerTilesRequestContext(enclosedRequest, env);
+        assertEquals(env, context.getResponse());
+        EasyMock.verify(enclosedRequest);
     }
-
 }


Reply via email to