Author: apetrelli
Date: Fri Jan 21 20:04:10 2011
New Revision: 1061995

URL: http://svn.apache.org/viewvc?rev=1061995&view=rev
Log:
TILES-519
Applied patch by Vitaly Polonetsky

Modified:
    
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/GetAsStringModel.java
    
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/GetAsStringModelTest.java
    
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/InsertAttributeModelTest.java

Modified: 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/GetAsStringModel.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/GetAsStringModel.java?rev=1061995&r1=1061994&r2=1061995&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/GetAsStringModel.java
 (original)
+++ 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/GetAsStringModel.java
 Fri Jan 21 20:04:10 2011
@@ -196,10 +196,10 @@ public class GetAsStringModel {
     private void renderAttribute(Attribute attribute, TilesContainer container,
             Writer writer, boolean ignore, Object... requestItems)
             throws IOException {
-        if (attribute == null && ignore) {
-            return;
-        }
         try {
+            if (attribute == null && ignore) {
+                return;
+            }
             writer.write(attribute.getValue().toString());
         } catch (IOException e) {
             if (!ignore) {

Modified: 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/GetAsStringModelTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/GetAsStringModelTest.java?rev=1061995&r1=1061994&r2=1061995&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/GetAsStringModelTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/GetAsStringModelTest.java
 Fri Jan 21 20:04:10 2011
@@ -108,6 +108,30 @@ public class GetAsStringModelTest {
 
         replay(resolver, container, writer);
         model.end(composeStack, container, writer, false, requestItem);
+        assertEquals(0, composeStack.size());
+        verify(resolver, container, writer);
+    }
+
+    /**
+     * Test method for {@link org.apache.tiles.template.GetAsStringModel
+     * #end(java.util.Stack, org.apache.tiles.TilesContainer, java.io.Writer,
+     * boolean, java.lang.Object[])} when ignore flag is set.
+     * @throws IOException If something goes wrong.
+     */
+    @Test
+    public void testEndIgnore() throws IOException {
+        ArrayStack<Object> composeStack = new ArrayStack<Object>();
+        Attribute attribute = null;
+        composeStack.push(attribute);
+        TilesContainer container = createMock(TilesContainer.class);
+        Integer requestItem = new Integer(1);
+        Writer writer = createMock(Writer.class);
+
+        container.endContext(requestItem);
+
+        replay(resolver, container, writer);
+        model.end(composeStack, container, writer, true, requestItem);
+        assertEquals(0, composeStack.size());
         verify(resolver, container, writer);
     }
 

Modified: 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/InsertAttributeModelTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/InsertAttributeModelTest.java?rev=1061995&r1=1061994&r2=1061995&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/InsertAttributeModelTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-template/src/test/java/org/apache/tiles/template/InsertAttributeModelTest.java
 Fri Jan 21 20:04:10 2011
@@ -103,6 +103,28 @@ public class InsertAttributeModelTest {
 
         replay(resolver, container);
         model.end(composeStack, container, false, requestItem);
+        assertEquals(0, composeStack.size());
+        verify(resolver, container);
+    }
+
+    /**
+     * Test method for {@link org.apache.tiles.template.InsertAttributeModel
+     * #end(ArrayStack, TilesContainer, boolean, Object...)} when ignore flag 
is set.
+     * @throws IOException If something goes wrong.
+     */
+    @Test
+    public void testEndIgnore() throws IOException {
+        ArrayStack<Object> composeStack = new ArrayStack<Object>();
+        Attribute attribute = null;
+        composeStack.push(attribute);
+        TilesContainer container = createMock(TilesContainer.class);
+        Integer requestItem = new Integer(1);
+
+        container.endContext(requestItem);
+
+        replay(resolver, container);
+        model.end(composeStack, container, true, requestItem);
+        assertEquals(0, composeStack.size());
         verify(resolver, container);
     }
 


Reply via email to