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/11/05 20:22:57 UTC

svn commit: r833138 - in /tiles/sandbox/trunk/tiles3/tiles-api/src: main/java/org/apache/tiles/access/TilesAccess.java test/java/org/apache/tiles/access/TilesAccessTest.java

Author: apetrelli
Date: Thu Nov  5 19:22:57 2009
New Revision: 833138

URL: http://svn.apache.org/viewvc?rev=833138&view=rev
Log:
TILESSB-11
Added test for TilesAccess.

TILESSB-10
Added methods in TilesAccess.

Modified:
    tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java
    tiles/sandbox/trunk/tiles3/tiles-api/src/test/java/org/apache/tiles/access/TilesAccessTest.java

Modified: tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java?rev=833138&r1=833137&r2=833138&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java Thu Nov  5 19:22:57 2009
@@ -89,4 +89,32 @@
             context.getApplicationScope().put(key, container);
         }
     }
+
+    /**
+     * Returns default the container to be used in the application.
+     *
+     * @param context The Tiles application context object to use.
+     * @return The default container object.
+     * @since 3.0.0
+     */
+    public static TilesContainer getContainer(TilesApplicationContext context) {
+        return getContainer(context, CONTAINER_ATTRIBUTE);
+    }
+
+    /**
+     * Returns the container to be used in the application registered under a specific key.
+     *
+     * @param context The Tiles application context object to use.
+     * @param key The key under which the container will be stored.
+     * @return The container object.
+     * @since 3.0.0
+     */
+    public static TilesContainer getContainer(TilesApplicationContext context,
+            String key) {
+        if (key == null) {
+            key = CONTAINER_ATTRIBUTE;
+        }
+
+        return (TilesContainer) context.getApplicationScope().get(key);
+    }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-api/src/test/java/org/apache/tiles/access/TilesAccessTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-api/src/test/java/org/apache/tiles/access/TilesAccessTest.java?rev=833138&r1=833137&r2=833138&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-api/src/test/java/org/apache/tiles/access/TilesAccessTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-api/src/test/java/org/apache/tiles/access/TilesAccessTest.java Thu Nov  5 19:22:57 2009
@@ -20,56 +20,93 @@
  */
 package org.apache.tiles.access;
 
+import static org.junit.Assert.*;
+import static org.easymock.EasyMock.*;
+
 import java.util.HashMap;
 import java.util.Map;
 
-import org.easymock.EasyMock;
+import org.junit.Test;
 import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesContainer;
 
-import junit.framework.TestCase;
-
 /**
+ * Tests {@link TilesAccess}.
+ *
  * @version $Rev$ $Date$
  */
-public class TilesAccessTest extends TestCase {
+public class TilesAccessTest {
 
     /**
-     * The servlet context to use.
-     */
-    private TilesApplicationContext context;
-
-    /** {@inheritDoc} */
-    @Override
-	public void setUp() {
-        context = EasyMock.createMock(TilesApplicationContext.class);
-    }
-
-    /**
-     * Tests the setting of the context.
+     * Tests {@link TilesAccess#setContainer(TilesApplicationContext, TilesContainer)}.
      */
+    @Test
     public void testSetContainer() {
-        TilesContainer container = EasyMock.createMock(TilesContainer.class);
+        TilesApplicationContext context = createMock(TilesApplicationContext.class);
+        TilesContainer container = createMock(TilesContainer.class);
         Map<String, Object> attribs = new HashMap<String, Object>();
-        EasyMock.expect(context.getApplicationScope()).andReturn(attribs);
-        EasyMock.replay(context);
+        expect(context.getApplicationScope()).andReturn(attribs);
+        replay(context, container);
         TilesAccess.setContainer(context, container);
         assertEquals(attribs.size(), 1);
         assertEquals(attribs.get(TilesAccess.CONTAINER_ATTRIBUTE), container);
-        EasyMock.verify(context);
+        verify(context, container);
     }
 
     /**
-     * Tests the setting of the context.
+     * Tests {@link TilesAccess#setContainer(TilesApplicationContext, TilesContainer, String)}.
      */
+    @Test
     public void testSetContainerWithKey() {
-        TilesContainer container = EasyMock.createMock(TilesContainer.class);
+        TilesApplicationContext context = createMock(TilesApplicationContext.class);
+        TilesContainer container = createMock(TilesContainer.class);
         Map<String, Object> attribs = new HashMap<String, Object>();
-        EasyMock.expect(context.getApplicationScope()).andReturn(attribs);
-        EasyMock.replay(context);
+        expect(context.getApplicationScope()).andReturn(attribs).anyTimes();
+        replay(context, container);
         TilesAccess.setContainer(context, container, "myKey");
-        assertEquals(attribs.size(), 1);
-        assertEquals(attribs.get("myKey"), container);
-        EasyMock.verify(context);
+        assertEquals(1, attribs.size());
+        assertEquals(container, attribs.get("myKey"));
+
+        TilesAccess.setContainer(context, null, "myKey");
+        assertEquals(0, attribs.size());
+
+        TilesAccess.setContainer(context, container, null);
+        assertEquals(1, attribs.size());
+        assertEquals(container, attribs.get(TilesAccess.CONTAINER_ATTRIBUTE));
+        verify(context, container);
+    }
+
+    /**
+     * Tests {@link TilesAccess#getContainer(TilesApplicationContext)}.
+     */
+    @Test
+    public void testGetContainer() {
+        TilesApplicationContext context = createMock(TilesApplicationContext.class);
+        TilesContainer container = createMock(TilesContainer.class);
+        Map<String, Object> attribs = new HashMap<String, Object>();
+        expect(context.getApplicationScope()).andReturn(attribs).anyTimes();
+
+        replay(context, container);
+        attribs.put(TilesAccess.CONTAINER_ATTRIBUTE, container);
+        assertEquals(container, TilesAccess.getContainer(context));
+        verify(context, container);
+    }
+
+    /**
+     * Tests {@link TilesAccess#getContainer(TilesApplicationContext, String))}.
+     */
+    @Test
+    public void testGetContainerWithKey() {
+        TilesApplicationContext context = createMock(TilesApplicationContext.class);
+        TilesContainer container = createMock(TilesContainer.class);
+        Map<String, Object> attribs = new HashMap<String, Object>();
+        expect(context.getApplicationScope()).andReturn(attribs).anyTimes();
+
+        replay(context, container);
+        attribs.put(TilesAccess.CONTAINER_ATTRIBUTE, container);
+        attribs.put("myKey", container);
+        assertEquals(container, TilesAccess.getContainer(context, null));
+        assertEquals(container, TilesAccess.getContainer(context, "myKey"));
+        verify(context, container);
     }
 }