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 2010/05/28 20:30:00 UTC

svn commit: r949253 - in /tiles/sandbox/trunk/tiles3: tiles-compat/src/main/java/org/apache/tiles/compat/preparer/ tiles-compat/src/test/java/org/apache/tiles/compat/preparer/ tiles-core/src/main/java/org/apache/tiles/preparer/ tiles-core/src/main/java...

Author: apetrelli
Date: Fri May 28 18:29:59 2010
New Revision: 949253

URL: http://svn.apache.org/viewvc?rev=949253&view=rev
Log:
TILESSB-11
Added more test cases.

TILESSB-10
Removed ViewPreparerSupport, as it is useless.

Added:
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java   (with props)
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java   (with props)
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java   (with props)
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java   (with props)
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java   (with props)
Removed:
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/ViewPreparerSupport.java
Modified:
    tiles/sandbox/trunk/tiles3/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
    tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/CompatibilityPreparerFactoryTest.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/NoSuchPreparerException.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerException.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/RendererException.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRenderer.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/startup/AbstractTilesInitializer.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRendererTest.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/BasicRendererFactoryTest.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/ChainedDelegateAttributeRendererTest.java
    tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/TemplateAttributeRendererTest.java

Modified: tiles/sandbox/trunk/tiles3/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java Fri May 28 18:29:59 2010
@@ -25,7 +25,7 @@ import java.io.IOException;
 
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.preparer.PreparerException;
-import org.apache.tiles.preparer.ViewPreparerSupport;
+import org.apache.tiles.preparer.ViewPreparer;
 import org.apache.tiles.request.Request;
 
 /**
@@ -36,7 +36,7 @@ import org.apache.tiles.request.Request;
  * @version $Rev$ $Date$
  * @since 2.1.0
  */
-public class UrlPreparer extends ViewPreparerSupport {
+public class UrlPreparer implements ViewPreparer {
 
     /**
      * The URL to be used as a preparer.

Modified: tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/CompatibilityPreparerFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/CompatibilityPreparerFactoryTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/CompatibilityPreparerFactoryTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/CompatibilityPreparerFactoryTest.java Fri May 28 18:29:59 2010
@@ -21,11 +21,12 @@
 
 package org.apache.tiles.compat.preparer;
 
-import org.apache.tiles.preparer.ViewPreparer;
-import org.apache.tiles.preparer.ViewPreparerSupport;
-
 import junit.framework.TestCase;
 
+import org.apache.tiles.AttributeContext;
+import org.apache.tiles.preparer.ViewPreparer;
+import org.apache.tiles.request.Request;
+
 /**
  * Tests {@link CompatibilityPreparerFactory}.
  *
@@ -61,7 +62,11 @@ public class CompatibilityPreparerFactor
     /**
      * Mock view preparer to test preparer instantiation.
      */
-    public static final class MockViewPreparer extends ViewPreparerSupport {
-        // Nothing here.
+    public static final class MockViewPreparer implements ViewPreparer {
+        /** {@inheritDoc} */
+        public void execute(Request tilesContext,
+                AttributeContext attributeContext) {
+            // Nothing here.
+        }
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java Fri May 28 18:29:59 2010
@@ -82,9 +82,7 @@ public class BasicPreparerFactory implem
      */
     protected ViewPreparer createPreparer(String name) {
 
-        if (log.isDebugEnabled()) {
-            log.debug("Creating ViewPreparer '" + name + "' . . .");
-        }
+        log.debug("Creating ViewPreparer '{}' . . .", name);
 
         Object instance = ClassUtil.instantiate(name, true);
         log.debug("ViewPreparer created successfully");

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/NoSuchPreparerException.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/NoSuchPreparerException.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/NoSuchPreparerException.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/NoSuchPreparerException.java Fri May 28 18:29:59 2010
@@ -30,6 +30,13 @@ public class NoSuchPreparerException ext
 
     /**
      * Constructor.
+     */
+    public NoSuchPreparerException() {
+        super();
+    }
+
+    /**
+     * Constructor.
      *
      * @param message The message to include.
      */
@@ -40,10 +47,19 @@ public class NoSuchPreparerException ext
     /**
      * Constructor.
      *
+     * @param e The cause exception.
+     */
+    public NoSuchPreparerException(Throwable e) {
+        super(e);
+    }
+
+    /**
+     * Constructor.
+     *
      * @param message The message to include.
      * @param e The cause exception.
      */
-    public NoSuchPreparerException(String message, Exception e) {
+    public NoSuchPreparerException(String message, Throwable e) {
         super(message, e);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerException.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerException.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerException.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerException.java Fri May 28 18:29:59 2010
@@ -45,7 +45,7 @@ public class PreparerException extends T
      *
      * @param e The cause exception.
      */
-    public PreparerException(Exception e) {
+    public PreparerException(Throwable e) {
         super(e);
     }
 
@@ -64,7 +64,7 @@ public class PreparerException extends T
      * @param message The message to include.
      * @param e The cause exception.
      */
-    public PreparerException(String message, Exception e) {
+    public PreparerException(String message, Throwable e) {
         super(message, e);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/RendererException.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/RendererException.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/RendererException.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/RendererException.java Fri May 28 18:29:59 2010
@@ -59,7 +59,7 @@ public class RendererException extends T
      * @param e The exception to be wrapped.
      * @since 2.1.0
      */
-    public RendererException(Exception e) {
+    public RendererException(Throwable e) {
         super(e);
     }
 
@@ -75,7 +75,7 @@ public class RendererException extends T
      * @param e The exception to be wrapped.
      * @since 2.1.0
      */
-    public RendererException(String message, Exception e) {
+    public RendererException(String message, Throwable e) {
         super(message, e);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRenderer.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRenderer.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRenderer.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRenderer.java Fri May 28 18:29:59 2010
@@ -62,11 +62,9 @@ public abstract class AbstractBaseAttrib
 
     /** {@inheritDoc} */
     public void render(Attribute attribute, Request request) throws IOException {
-        if (!isPermitted(request, attribute.getRoles())) {
-            if (log.isDebugEnabled()) {
-                log.debug("Access to attribute denied.  User not in role '"
-                        + attribute.getRoles() + "'");
-            }
+        Set<String> roles = attribute.getRoles();
+        if (!isPermitted(request, roles)) {
+            log.debug("Access to attribute denied.  User not in role '{}'", roles);
             return;
         }
 

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/startup/AbstractTilesInitializer.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/startup/AbstractTilesInitializer.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/startup/AbstractTilesInitializer.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/startup/AbstractTilesInitializer.java Fri May 28 18:29:59 2010
@@ -22,14 +22,11 @@
 package org.apache.tiles.startup;
 
 import org.apache.tiles.TilesContainer;
-import org.apache.tiles.TilesException;
 import org.apache.tiles.access.TilesAccess;
 import org.apache.tiles.factory.AbstractTilesContainerFactory;
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.scope.ReflectionContextResolver;
 import org.apache.tiles.request.util.ApplicationAccess;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Default Tiles initialization delegate implementation under a servlet
@@ -42,11 +39,6 @@ import org.slf4j.LoggerFactory;
 public abstract class AbstractTilesInitializer implements TilesInitializer {
 
     /**
-     * The logging object.
-     */
-    private Logger log = LoggerFactory.getLogger(getClass());
-
-    /**
      * Init parameter to define the key under which the container will be
      * stored.
      *
@@ -77,12 +69,8 @@ public abstract class AbstractTilesIniti
 
     /** {@inheritDoc} */
     public void destroy() {
-        try {
-            TilesAccess.setContainer(applicationContext, null,
-                    getContainerKey(applicationContext));
-        } catch (TilesException e) {
-            log.warn("Unable to remove tiles container from service.", e);
-        }
+        TilesAccess.setContainer(applicationContext, null,
+                getContainerKey(applicationContext));
     }
 
     /**

Added: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java?rev=949253&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java (added)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java Fri May 28 18:29:59 2010
@@ -0,0 +1,42 @@
+/**
+ *
+ */
+package org.apache.tiles.locale.impl;
+
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.tiles.request.Request;
+import org.junit.Test;
+
+/**
+ * Tests {@link DefaultLocaleResolver}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DefaultLocaleResolverTest {
+
+    /**
+     * Test method for {@link org.apache.tiles.locale.impl.DefaultLocaleResolver#resolveLocale(org.apache.tiles.request.Request)}.
+     */
+    @SuppressWarnings("unchecked")
+    @Test
+    public void testResolveLocale() {
+        Request request = createMock(Request.class);
+        Map<String, Object> sessionScope = createMock(Map.class);
+        Locale locale = Locale.ITALY;
+
+        expect(request.getContext("session")).andReturn(sessionScope);
+        expect(sessionScope.get(DefaultLocaleResolver.LOCALE_KEY)).andReturn(null);
+        expect(request.getRequestLocale()).andReturn(locale);
+
+        replay(request, sessionScope);
+        DefaultLocaleResolver resolver = new DefaultLocaleResolver();
+        assertSame(locale, resolver.resolveLocale(request));
+        verify(request, sessionScope);
+    }
+
+}

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/locale/impl/DefaultLocaleResolverTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java Fri May 28 18:29:59 2010
@@ -20,6 +20,9 @@
  */
 package org.apache.tiles.preparer;
 
+import org.apache.tiles.AttributeContext;
+import org.apache.tiles.request.Request;
+
 import junit.framework.TestCase;
 
 /**
@@ -44,13 +47,26 @@ public class BasicPreparerFactoryTest ex
      * Tests getting a preparer.
      */
     public void testGetPreparer() {
-        String name = ViewPreparerSupport.class.getName();
+        String name = MockViewPreparer.class.getName();
         ViewPreparer p = factory.getPreparer(name, null);
         assertNotNull(p);
-        assertTrue(p instanceof ViewPreparerSupport);
+        assertTrue(p instanceof MockViewPreparer);
 
         name = "org.doesnotexist.Class";
         p = factory.getPreparer(name, null);
         assertNull(p);
     }
+
+    /**
+     * Mock view preparer.
+     *
+     * @version $Rev$ $Date$
+     */
+    public static class MockViewPreparer implements ViewPreparer {
+
+        /** {@inheritDoc} */
+        public void execute(Request tilesContext,
+                            AttributeContext attributeContext) {
+        }
+    }
 }

Added: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java?rev=949253&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java (added)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java Fri May 28 18:29:59 2010
@@ -0,0 +1,77 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.preparer;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Tests {@link NoSuchPreparerException}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class NoSuchPreparerExceptionTest {
+
+    /**
+     * Test method for {@link NoSuchPreparerException#NoSuchPreparerException()}.
+     */
+    @Test
+    public void testNoSuchPreparerException() {
+        NoSuchPreparerException exception = new NoSuchPreparerException();
+        assertNull(exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link NoSuchPreparerException#NoSuchPreparerException(java.lang.String)}.
+     */
+    @Test
+    public void testNoSuchPreparerExceptionString() {
+        NoSuchPreparerException exception = new NoSuchPreparerException("my message");
+        assertEquals("my message", exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link NoSuchPreparerException#NoSuchPreparerException(java.lang.Throwable)}.
+     */
+    @Test
+    public void testNoSuchPreparerExceptionThrowable() {
+        Throwable cause = new Throwable();
+        NoSuchPreparerException exception = new NoSuchPreparerException(cause);
+        assertEquals(cause.toString(), exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+    /**
+     * Test method for {@link NoSuchPreparerException#NoSuchPreparerException(java.lang.String, java.lang.Throwable)}.
+     */
+    @Test
+    public void testNoSuchPreparerExceptionStringThrowable() {
+        Throwable cause = new Throwable();
+        NoSuchPreparerException exception = new NoSuchPreparerException("my message", cause);
+        assertEquals("my message", exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+}

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/NoSuchPreparerExceptionTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java?rev=949253&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java (added)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java Fri May 28 18:29:59 2010
@@ -0,0 +1,77 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.preparer;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Tests {@link PreparerException}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class PreparerExceptionTest {
+
+    /**
+     * Test method for {@link PreparerException#PreparerException()}.
+     */
+    @Test
+    public void testPreparerException() {
+        PreparerException exception = new PreparerException();
+        assertNull(exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link PreparerException#PreparerException(java.lang.String)}.
+     */
+    @Test
+    public void testPreparerExceptionString() {
+        PreparerException exception = new PreparerException("my message");
+        assertEquals("my message", exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link PreparerException#PreparerException(java.lang.Throwable)}.
+     */
+    @Test
+    public void testPreparerExceptionThrowable() {
+        Throwable cause = new Throwable();
+        PreparerException exception = new PreparerException(cause);
+        assertEquals(cause.toString(), exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+    /**
+     * Test method for {@link PreparerException#PreparerException(java.lang.String, java.lang.Throwable)}.
+     */
+    @Test
+    public void testPreparerExceptionStringThrowable() {
+        Throwable cause = new Throwable();
+        PreparerException exception = new PreparerException("my message", cause);
+        assertEquals("my message", exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+}

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/preparer/PreparerExceptionTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java?rev=949253&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java (added)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java Fri May 28 18:29:59 2010
@@ -0,0 +1,77 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.renderer;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Tests {@link RendererException}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class RendererExceptionTest {
+
+    /**
+     * Test method for {@link RendererException#RendererException()}.
+     */
+    @Test
+    public void testRendererException() {
+        RendererException exception = new RendererException();
+        assertNull(exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link RendererException#RendererException(java.lang.String)}.
+     */
+    @Test
+    public void testRendererExceptionString() {
+        RendererException exception = new RendererException("my message");
+        assertEquals("my message", exception.getMessage());
+        assertNull(exception.getCause());
+    }
+
+    /**
+     * Test method for {@link RendererException#RendererException(java.lang.Throwable)}.
+     */
+    @Test
+    public void testRendererExceptionThrowable() {
+        Throwable cause = new Throwable();
+        RendererException exception = new RendererException(cause);
+        assertEquals(cause.toString(), exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+    /**
+     * Test method for {@link RendererException#RendererException(java.lang.String, java.lang.Throwable)}.
+     */
+    @Test
+    public void testRendererExceptionStringThrowable() {
+        Throwable cause = new Throwable();
+        RendererException exception = new RendererException("my message", cause);
+        assertEquals("my message", exception.getMessage());
+        assertEquals(cause, exception.getCause());
+    }
+
+}

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/RendererExceptionTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRendererTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRendererTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRendererTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/AbstractBaseAttributeRendererTest.java Fri May 28 18:29:59 2010
@@ -20,69 +20,91 @@
  */
 package org.apache.tiles.renderer.impl;
 
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
 import java.io.IOException;
 import java.io.StringWriter;
 import java.util.HashSet;
 import java.util.Set;
 
-import junit.framework.TestCase;
-
 import org.apache.tiles.Attribute;
 import org.apache.tiles.evaluator.BasicAttributeEvaluatorFactory;
 import org.apache.tiles.evaluator.impl.DirectAttributeEvaluator;
 import org.apache.tiles.request.Request;
-import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Tests {@link AbstractBaseAttributeRenderer}.
  *
  * @version $Rev$ $Date$
  */
-public class AbstractBaseAttributeRendererTest extends TestCase {
+public class AbstractBaseAttributeRendererTest {
 
     /**
      * The renderer, no more abstract.
      */
     private MockAttributeRenderer renderer;
 
-    /** {@inheritDoc} */
-    @Override
-    protected void setUp() {
+    /**
+     * Sets up the test.
+     */
+    @Before
+    public void setUp() {
         renderer = new MockAttributeRenderer();
-        renderer.setAttributeEvaluatorFactory(new BasicAttributeEvaluatorFactory(
-                new DirectAttributeEvaluator()));
+        renderer
+                .setAttributeEvaluatorFactory(new BasicAttributeEvaluatorFactory(
+                        new DirectAttributeEvaluator()));
     }
 
     /**
-     * Tests
-     * {@link AbstractBaseAttributeRenderer#render(Attribute, Request)}.
+     * Tests {@link AbstractBaseAttributeRenderer#render(Attribute, Request)}.
      *
      * @throws IOException If something goes wrong during rendition.
      */
+    @Test
     public void testRender() throws IOException {
         Attribute attribute = new Attribute();
         StringWriter writer = new StringWriter();
-        Request requestContext = EasyMock
-                .createMock(Request.class);
-        EasyMock.expect(requestContext.getWriter()).andReturn(writer);
-        EasyMock.replay(requestContext);
+        Request requestContext = createMock(Request.class);
+        expect(requestContext.getWriter()).andReturn(writer);
+        replay(requestContext);
         renderer.render(attribute, requestContext);
         writer.close();
         assertEquals("Wrongly written", "wrote", writer.toString());
+        verify(requestContext);
+    }
+
+    /**
+     * Tests {@link AbstractBaseAttributeRenderer#render(Attribute, Request)}.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test
+    public void testRenderNotPermitted() throws IOException {
+        Attribute attribute = new Attribute();
+        Request requestContext = createMock(Request.class);
+        attribute.setRole("first");
+
+        expect(requestContext.isUserInRole("first")).andReturn(Boolean.FALSE);
+
+        replay(requestContext);
+        renderer.render(attribute, requestContext);
+        verify(requestContext);
     }
 
     /**
-     * Tests
-     * {@link AbstractBaseAttributeRenderer#isPermitted(Request, Set)}.
+     * Tests {@link AbstractBaseAttributeRenderer#isPermitted(Request, Set)}.
      */
+    @Test
     public void testIsPermitted() {
-        Request requestContext = EasyMock
-                .createMock(Request.class);
-        EasyMock.expect(requestContext.isUserInRole("first")).andReturn(
-                Boolean.TRUE).anyTimes();
-        EasyMock.expect(requestContext.isUserInRole("second")).andReturn(
-                Boolean.FALSE).anyTimes();
-        EasyMock.replay(requestContext);
+        Request requestContext = createMock(Request.class);
+        expect(requestContext.isUserInRole("first")).andReturn(Boolean.TRUE)
+                .anyTimes();
+        expect(requestContext.isUserInRole("second")).andReturn(Boolean.FALSE)
+                .anyTimes();
+        replay(requestContext);
         Set<String> roles = new HashSet<String>();
         roles.add("first");
         assertTrue("The role is not permitted", renderer.isPermitted(
@@ -91,17 +113,18 @@ public class AbstractBaseAttributeRender
         roles.add("second");
         assertFalse("The role is not permitted", renderer.isPermitted(
                 requestContext, roles));
+        verify(requestContext);
     }
 
     /**
      * The renderer with "write" implementation.
      */
-    private static class MockAttributeRenderer extends AbstractBaseAttributeRenderer {
+    private static class MockAttributeRenderer extends
+            AbstractBaseAttributeRenderer {
 
         /** {@inheritDoc} */
         @Override
-        public void write(Object value, Attribute attribute,
-                Request request)
+        public void write(Object value, Attribute attribute, Request request)
                 throws IOException {
             request.getWriter().write("wrote");
         }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/BasicRendererFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/BasicRendererFactoryTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/BasicRendererFactoryTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/BasicRendererFactoryTest.java Fri May 28 18:29:59 2010
@@ -20,15 +20,19 @@
  */
 package org.apache.tiles.renderer.impl;
 
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
 import java.util.HashMap;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.evaluator.AttributeEvaluatorFactory;
 import org.apache.tiles.renderer.AttributeRenderer;
 import org.apache.tiles.request.ApplicationContext;
-import org.easymock.EasyMock;
+import org.apache.tiles.request.util.ApplicationContextAware;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Basic renderer factory implementation.
@@ -36,55 +40,68 @@ import org.easymock.EasyMock;
  * @version $Rev$ $Date$
  * @since 2.1.0
  */
-public class BasicRendererFactoryTest extends TestCase {
+public class BasicRendererFactoryTest {
 
     /**
      * The renderer factory.
      */
     private BasicRendererFactory rendererFactory;
 
-    /** {@inheritDoc} */
-    @Override
+    /**
+     * Sets up the test.
+     */
+    @Before
     public void setUp() {
         rendererFactory = new BasicRendererFactory();
-        ApplicationContext applicationContext = EasyMock
-                .createMock(ApplicationContext.class);
-        TilesContainer container = EasyMock.createMock(TilesContainer.class);
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
+        TilesContainer container = createMock(TilesContainer.class);
         rendererFactory.setApplicationContext(applicationContext);
         rendererFactory.setContainer(container);
-        EasyMock.replay(applicationContext, container);
+        replay(applicationContext, container);
     }
 
     /**
      * Tests execution and
      * {@link BasicRendererFactory#getRenderer(String)}.
      */
+    @Test
     public void testInitAndGetRenderer() {
+        AttributeRenderer renderer1 = createMock(AttributeRenderer.class);
+        AttributeRenderer renderer2 = createMock(AttributeRenderer.class);
+        AttributeRenderer renderer3 = createMock(AttributeRenderer.class);
+        AttributeRenderer renderer4 = createMock(AttributeRenderer.class);
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
+        AttributeEvaluatorFactory attributeEvaluatorFactory = createMock(AttributeEvaluatorFactory.class);
+
+        replay(renderer1, renderer2, renderer3, renderer4, applicationContext, attributeEvaluatorFactory);
         Map<String, String> params = new HashMap<String, String>();
         params.put(BasicRendererFactory.TYPE_RENDERERS_INIT_PARAM, "test,"
                 + StringAttributeRenderer.class.getName() + ";test2,"
                 + StringAttributeRenderer.class.getName());
-        rendererFactory.registerRenderer("string", new StringAttributeRenderer());
-        rendererFactory.registerRenderer("test", new StringAttributeRenderer());
-        rendererFactory.registerRenderer("test2", new StringAttributeRenderer());
+        rendererFactory.registerRenderer("string", renderer1);
+        rendererFactory.registerRenderer("test", renderer2);
+        rendererFactory.registerRenderer("test2", renderer3);
+        rendererFactory.setDefaultRenderer(renderer4);
+        rendererFactory.setApplicationContext(applicationContext);
+        rendererFactory.setAttributeEvaluatorFactory(attributeEvaluatorFactory);
         AttributeRenderer renderer = rendererFactory.getRenderer("string");
-        assertNotNull("The renderer is null", renderer);
-        assertTrue("The class of the renderer is wrong", renderer instanceof StringAttributeRenderer);
+        assertSame(renderer1, renderer);
         renderer = rendererFactory.getRenderer("test");
-        assertNotNull("The renderer is null", renderer);
-        assertTrue("The class of the renderer is wrong", renderer instanceof StringAttributeRenderer);
+        assertSame(renderer2, renderer);
         renderer = rendererFactory.getRenderer("test2");
-        assertNotNull("The renderer is null", renderer);
-        assertTrue("The class of the renderer is wrong", renderer instanceof StringAttributeRenderer);
-        renderer = rendererFactory.getRenderer(StringAttributeRenderer.class
+        assertSame(renderer3, renderer);
+        renderer = rendererFactory.getRenderer(ExtendedStringAttributeRenderer.class
                 .getName());
-        assertNotNull("The renderer is null", renderer);
-        assertTrue("The class of the renderer is wrong", renderer instanceof StringAttributeRenderer);
+        assertSame(applicationContext, ((ExtendedStringAttributeRenderer) renderer).applicationContext);
+        renderer = rendererFactory.getRenderer(null);
+        assertSame(renderer4, renderer);
+        verify(renderer1, renderer2, renderer3, renderer4, applicationContext, attributeEvaluatorFactory);
     }
 
     /**
      * Tests {@link BasicRendererFactory#setContainer(TilesContainer)}.
      */
+    @Test
     public void testSetContainer() {
         assertNotNull("The container is null", rendererFactory.container);
     }
@@ -93,6 +110,7 @@ public class BasicRendererFactoryTest ex
      * Tests
      * {@link BasicRendererFactory#setApplicationContext(ApplicationContext)}.
      */
+    @Test
     public void testSetApplicationContext() {
         assertNotNull("The application context is null",
                 rendererFactory.applicationContext);
@@ -101,9 +119,29 @@ public class BasicRendererFactoryTest ex
     /**
      * Tests {@link BasicRendererFactory#initializeRenderer(AttributeRenderer)}.
      */
+    @Test
     public void testInitializeRenderer() {
         DefinitionAttributeRenderer renderer = new DefinitionAttributeRenderer();
         rendererFactory.initializeRenderer(renderer);
         assertNotNull("The container is null", renderer.container);
     }
+
+    /**
+     * Mock renderer.
+     *
+     * @version $Rev$ $Date$
+     */
+    public static class ExtendedStringAttributeRenderer extends StringAttributeRenderer implements ApplicationContextAware {
+
+        /**
+         * The application context.
+         */
+        private ApplicationContext applicationContext;
+
+        /** {@inheritDoc} */
+        @Override
+        public void setApplicationContext(ApplicationContext applicationContext) {
+            this.applicationContext = applicationContext;
+        }
+    }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/ChainedDelegateAttributeRendererTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/ChainedDelegateAttributeRendererTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/ChainedDelegateAttributeRendererTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/ChainedDelegateAttributeRendererTest.java Fri May 28 18:29:59 2010
@@ -29,6 +29,7 @@ import org.apache.tiles.Attribute;
 import org.apache.tiles.Expression;
 import org.apache.tiles.evaluator.BasicAttributeEvaluatorFactory;
 import org.apache.tiles.evaluator.impl.DirectAttributeEvaluator;
+import org.apache.tiles.renderer.RendererException;
 import org.apache.tiles.renderer.TypeDetectingAttributeRenderer;
 import org.apache.tiles.request.Request;
 import org.easymock.EasyMock;
@@ -109,6 +110,67 @@ public class ChainedDelegateAttributeRen
     /**
      * Tests
      * {@link ChainedDelegateAttributeRenderer#render(Attribute, Request)}
+     * writing a definition.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test(expected=NullPointerException.class)
+    public void testWriteNull() throws IOException {
+        StringWriter writer = new StringWriter();
+        Attribute attribute = new Attribute("my.definition", (Expression) null,
+                null, "definition");
+        Request requestContext = EasyMock
+                .createMock(Request.class);
+
+        replay(requestContext, stringRenderer, templateRenderer,
+                definitionRenderer);
+        try {
+            renderer.write(null, attribute, requestContext);
+        } finally {
+            writer.close();
+            verify(requestContext, stringRenderer, templateRenderer,
+                    definitionRenderer);
+        }
+    }
+
+    /**
+     * Tests
+     * {@link ChainedDelegateAttributeRenderer#render(Attribute, Request)}
+     * writing a definition.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test(expected=RendererException.class)
+    public void testWriteNotRenderable() throws IOException {
+        StringWriter writer = new StringWriter();
+        Attribute attribute = new Attribute("my.definition", (Expression) null,
+                null, "definition");
+        Request requestContext = EasyMock
+                .createMock(Request.class);
+
+        expect(
+                definitionRenderer.isRenderable("Result", attribute,
+                        requestContext)).andReturn(Boolean.FALSE);
+        expect(
+                templateRenderer.isRenderable("Result", attribute,
+                        requestContext)).andReturn(Boolean.FALSE);
+        expect(stringRenderer.isRenderable("Result", attribute, requestContext))
+                .andReturn(Boolean.FALSE);
+
+        replay(requestContext, stringRenderer, templateRenderer,
+                definitionRenderer);
+        try {
+            renderer.write("Result", attribute, requestContext);
+        } finally {
+            writer.close();
+            verify(requestContext, stringRenderer, templateRenderer,
+                    definitionRenderer);
+        }
+    }
+
+    /**
+     * Tests
+     * {@link ChainedDelegateAttributeRenderer#render(Attribute, Request)}
      * writing a string.
      *
      * @throws IOException If something goes wrong during rendition.

Modified: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/TemplateAttributeRendererTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/TemplateAttributeRendererTest.java?rev=949253&r1=949252&r2=949253&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/TemplateAttributeRendererTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/renderer/impl/TemplateAttributeRendererTest.java Fri May 28 18:29:59 2010
@@ -29,6 +29,7 @@ import org.apache.tiles.Attribute;
 import org.apache.tiles.Expression;
 import org.apache.tiles.evaluator.BasicAttributeEvaluatorFactory;
 import org.apache.tiles.evaluator.impl.DirectAttributeEvaluator;
+import org.apache.tiles.impl.InvalidTemplateException;
 import org.apache.tiles.request.Request;
 import org.junit.Before;
 import org.junit.Test;
@@ -72,6 +73,38 @@ public class TemplateAttributeRendererTe
 
     /**
      * Tests
+     * {@link StringAttributeRenderer#write(Object, Attribute, Request)}.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test(expected=InvalidTemplateException.class)
+    public void testWriteNotString() throws IOException {
+        Attribute attribute = new Attribute(new Integer(1),
+                (Expression) null, null, "template");
+        Request requestContext = createMock(Request.class);
+        replay(requestContext);
+        renderer.render(attribute, requestContext);
+        verify(requestContext);
+    }
+
+    /**
+     * Tests
+     * {@link StringAttributeRenderer#write(Object, Attribute, Request)}.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test(expected=InvalidTemplateException.class)
+    public void testWriteNull() throws IOException {
+        Attribute attribute = new Attribute(null, (Expression) null, null,
+                "template");
+        Request requestContext = createMock(Request.class);
+        replay(requestContext);
+        renderer.render(attribute, requestContext);
+        verify(requestContext);
+    }
+
+    /**
+     * Tests
      * {@link StringAttributeRenderer#isRenderable(Object, Attribute, Request)}.
      *
      * @throws IOException If something goes wrong during rendition.
@@ -86,4 +119,21 @@ public class TemplateAttributeRendererTe
                 requestContext));
         verify(requestContext);
     }
+
+    /**
+     * Tests
+     * {@link StringAttributeRenderer#isRenderable(Object, Attribute, Request)}.
+     *
+     * @throws IOException If something goes wrong during rendition.
+     */
+    @Test
+    public void testIsRenderableFalse() {
+        Attribute attribute = new Attribute(new Integer(1),
+                (Expression) null, null, "template");
+        Request requestContext = createMock(Request.class);
+        replay(requestContext);
+        assertFalse(renderer.isRenderable(new Integer(1), attribute,
+                requestContext));
+        verify(requestContext);
+    }
 }

Added: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java?rev=949253&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java (added)
+++ tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java Fri May 28 18:29:59 2010
@@ -0,0 +1,77 @@
+/**
+ *
+ */
+package org.apache.tiles.util;
+
+import static org.junit.Assert.*;
+
+import java.beans.FeatureDescriptor;
+import java.beans.PropertyDescriptor;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tiles.reflect.ClassUtil;
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.Request;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests {@link CombinedBeanInfo}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class CombinedBeanInfoTest {
+
+    private CombinedBeanInfo beanInfo;
+
+    private List<FeatureDescriptor> descriptors;
+
+    private Map<String, PropertyDescriptor> requestMap;
+
+    private Map<String, PropertyDescriptor> applicationMap;
+
+    /**
+     * Sets up the test.
+     */
+    @Before
+    public void setUp() {
+        beanInfo = new CombinedBeanInfo(Request.class, ApplicationContext.class);
+        requestMap = new LinkedHashMap<String, PropertyDescriptor>();
+        ClassUtil.collectBeanInfo(Request.class, requestMap);
+        applicationMap = new LinkedHashMap<String, PropertyDescriptor>();
+        ClassUtil.collectBeanInfo(ApplicationContext.class, applicationMap);
+        descriptors = new ArrayList<FeatureDescriptor>();
+        descriptors.addAll(requestMap.values());
+        descriptors.addAll(applicationMap.values());
+    }
+
+    /**
+     * Test method for {@link org.apache.tiles.util.CombinedBeanInfo#getDescriptors()}.
+     */
+    @Test
+    public void testGetDescriptors() {
+        assertEquals(descriptors, beanInfo.getDescriptors());
+    }
+
+    /**
+     * Test method for {@link org.apache.tiles.util.CombinedBeanInfo#getMappedDescriptors(java.lang.Class)}.
+     */
+    @Test
+    public void testGetMappedDescriptors() {
+        assertEquals(requestMap, beanInfo.getMappedDescriptors(Request.class));
+        assertEquals(applicationMap, beanInfo.getMappedDescriptors(ApplicationContext.class));
+    }
+
+    /**
+     * Test method for {@link org.apache.tiles.util.CombinedBeanInfo#getProperties(java.lang.Class)}.
+     */
+    @Test
+    public void testGetProperties() {
+        assertEquals(requestMap.keySet(), beanInfo.getProperties(Request.class));
+        assertEquals(applicationMap.keySet(), beanInfo.getProperties(ApplicationContext.class));
+    }
+
+}

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/sandbox/trunk/tiles3/tiles-core/src/test/java/org/apache/tiles/util/CombinedBeanInfoTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL