Author: musachy
Date: Mon Dec 15 13:01:55 2008
New Revision: 726799

URL: http://svn.apache.org/viewvc?rev=726799&view=rev
Log:
Add div, actionerror, actionmessage, fielderror handlers

Added:
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionMessageHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/DivHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/FieldErrorHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionMessageTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/DivTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FieldErrorTest.java
Modified:
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FormTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SelectTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/TextFieldTest.java

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,73 @@
+/*
+ * $Id: AbstractTagHandler.java 726340 2008-12-14 02:45:05Z musachy $
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.views.java.Attributes;
+import org.apache.struts2.util.MakeIterator;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Iterator;
+
+public abstract class AbstractMessageListHandler extends AbstractTagHandler 
implements TagGenerator {
+    @Override
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Object errorsObj = findValue(getListExpression());
+
+        if (errorsObj != null) {
+            Iterator itt = MakeIterator.convert(errorsObj);
+            if (itt.hasNext()) {
+                start("ul", null);
+                while (itt.hasNext()) {
+                    String error = (String) itt.next();
+
+                    //li for each error
+                    start("li", null);
+
+                    //span for error
+                    Attributes attrs = new Attributes();
+                    attrs.addIfExists("style", params.get("cssStyle"))
+                            .add("class", params.containsKey("cssClass") ? 
(String) params.get("cssClass") : getItemClass());
+
+                    start("span", attrs);
+                    characters(error);
+                    end("span");
+                    end("li");
+
+                }
+                end("ul");
+            }
+        }
+    }
+
+    /*
+     * Expression used to get list from stack
+     */
+    protected abstract String getListExpression(); 
+
+    /*
+     * default class for span element
+     */
+    protected abstract String getItemClass();
+}
+

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java
 Mon Dec 15 13:01:55 2008
@@ -28,35 +28,13 @@
 import java.util.Map;
 import java.util.Iterator;
 
-public class ActionErrorHandler extends AbstractTagHandler implements 
TagGenerator {
-    @Override
-    public void generate() throws IOException {
-        Map<String, Object> params = context.getParameters();
-        Object errorsObj = findValue("actionErrors");
-
-        if (errorsObj != null) {
-            Iterator itt = MakeIterator.convert(errorsObj);
-            if (itt.hasNext()) {
-                start("ul", null);
-                while (itt.hasNext()) {
-                    String error = (String) itt.next();
-
-                    //li for each error
-                    start("li", null);
-
-                    //span for error
-                    Attributes attrs = new Attributes();
-                    attrs.addIfExists("style", params.get("cssStyle"))
-                            .add("class", params.containsKey("cssClass") ? 
(String) params.get("cssClass") : "errorMessage");
-
-                    start("span", attrs);
-                    characters(error);
-                    end("span");
-                    end("li");
+public class ActionErrorHandler extends AbstractMessageListHandler {
+    protected String getListExpression() {
+        return "actionErrors";
+    }
 
-                }
-                end("ul");
-            }
-        }
+    @Override
+    protected String getItemClass() {
+        return "errorMessage"; 
     }
 }

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionMessageHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionMessageHandler.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionMessageHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionMessageHandler.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,12 @@
+package org.apache.struts2.views.java.simple;
+
+public class ActionMessageHandler extends AbstractMessageListHandler {
+     protected String getListExpression() {
+        return "actionMessages";
+    }
+
+    @Override
+    protected String getItemClass() {
+        return "actionMessage";
+    }
+}

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/DivHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/DivHandler.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/DivHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/DivHandler.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,42 @@
+/*
+ * $Id: CommonAttributesHandler.java 726340 2008-12-14 02:45:05Z musachy $
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.views.java.Attributes;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class DivHandler extends AbstractTagHandler implements TagGenerator {
+    @Override
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Attributes attrs = new Attributes();
+        attrs.addIfExists("name", params.get("name"))
+                .addIfExists("id", params.get("id"))
+                .addIfExists("class", params.get("cssClass"))
+                .addIfExists("style", params.get("cssStyle"))
+                .addIfExists("title", params.get("title"));
+        start("div", attrs);
+        end("div");
+    }
+}

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/FieldErrorHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/FieldErrorHandler.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/FieldErrorHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/FieldErrorHandler.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,81 @@
+/*
+ * $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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.views.java.Attributes;
+import org.apache.struts2.util.MakeIterator;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Iterator;
+import java.util.List;
+
+public class FieldErrorHandler extends AbstractTagHandler implements 
TagGenerator {
+    @Override
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Map<String, List<String>> errors = (Map<String, List<String>>) 
findValue("fieldErrors");
+        List<String> fieldErrorFieldNames = (List<String>) 
findValue("fieldErrorFieldNames");
+
+        if (fieldErrorFieldNames != null && !fieldErrorFieldNames.isEmpty()) {
+            //wrapping ul
+            Attributes attrs = new Attributes();
+            attrs.addIfExists("style", params.get("cssStyle"))
+                    .add("class", params.containsKey("cssClass") ? (String) 
params.get("cssClass") : "errorMessage");
+            start("ul", attrs);
+
+            //iterate over field error names
+            for (String fieldErrorFieldName : fieldErrorFieldNames) {
+                List<String> fieldErrors = errors.get(fieldErrorFieldName);
+                if (fieldErrors != null) {
+                    for (String fieldError : fieldErrors) {
+                        start("li", null);
+                        start("span", null);
+                        characters(fieldError);
+                        end("span");
+                        end("li");
+                    }
+                }
+            }
+
+            end("ul");
+        } else if (errors != null && !errors.isEmpty()) {
+            //wrapping ul
+            Attributes attrs = new Attributes();
+            attrs.addIfExists("style", params.get("cssStyle"))
+                    .add("class", params.containsKey("cssClass") ? (String) 
params.get("cssClass") : "errorMessage");
+            start("ul", attrs);
+
+            for (Map.Entry<String, List<String>> errorEntry : 
errors.entrySet()) {
+                for (String fieldError : errorEntry.getValue()) {
+                    start("li", null);
+                    start("span", null);
+                    characters(fieldError);
+                    end("span");
+                    end("li");
+                }
+            }
+
+            end("ul");
+        }
+    }
+}

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
 Mon Dec 15 13:01:55 2008
@@ -40,6 +40,9 @@
             put("a", new FactoryList(AnchorHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("checkbox", new FactoryList(CheckboxHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("actionerror", new FactoryList(ActionErrorHandler.class));
+            put("actionmessage", new FactoryList(ActionMessageHandler.class));
+            put("fielderror", new FactoryList(FieldErrorHandler.class));
+            put("div", new FactoryList(DivHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("empty", new FactoryList(EmptyHandler.class));
         }});
         setName("simple");

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java
 Mon Dec 15 13:01:55 2008
@@ -65,7 +65,7 @@
 
     @Override
     protected void setUp() throws Exception {
-        this.errors = new ArrayList();
+        this.errors = new ArrayList<String>();
         this.errors.add("this clas is bad");
         this.errors.add("baaaaad");
 

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionMessageTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionMessageTest.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionMessageTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionMessageTest.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,73 @@
+package org.apache.struts2.views.java.simple;
+
+import org.apache.struts2.components.ActionError;
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.components.Anchor;
+
+import java.util.List;
+import java.util.ArrayList;
+
+public class ActionMessageTest extends AbstractTest {
+    private ActionError tag;
+    private List<String> errors;
+
+    public void testRenderActionError() {
+        tag.setCssClass("class");
+        tag.setCssStyle("style");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul><li><span style='style' class='class'>this 
clas is bad</span></li><li><span style='style' 
class='class'>baaaaad</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderActionErrorWithoutCssClass() {
+        tag.setCssStyle("style");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul><li><span style='style' 
class='actionMessage'>this clas is bad</span></li><li><span style='style' 
class='actionMessage'>baaaaad</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderActionErrorNoErrors() {
+        this.errors.clear();
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        assertEquals("", output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        this.errors = new ArrayList<String>();
+        this.errors.add("this clas is bad");
+        this.errors.add("baaaaad");
+
+        //errors are needed to setup stack
+        super.setUp();
+        this.tag = new ActionError(stack, request, response);
+    }
+
+    @Override
+    protected void setUpStack() {
+        super.setUpStack();
+        expectFind("actionMessages", this.errors);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "actionmessage";
+    }
+}
+

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java
 Mon Dec 15 13:01:55 2008
@@ -38,7 +38,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("a", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<a name='name_' id='id_' class='class' 
style='style' href='http://sometest.com?ab=10' title='title' 
tabindex='1'></a>");
         assertEquals(expected, output);
@@ -52,7 +52,7 @@
 
     @Override
     protected UIBean getUIBean() {
-        return new Anchor(stack, request, response);
+        return tag;
     }
 
     @Override

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/DivTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/DivTest.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/DivTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/DivTest.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,61 @@
+/*
+ * $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.struts2.views.java.simple;
+
+import org.apache.struts2.components.Anchor;
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.components.Div;
+
+public class DivTest extends AbstractCommonAttributesTest {
+    private Div tag;
+
+    public void testRenderAnchor() {
+        tag.setName("name_");
+        tag.setDisabled("true");
+        tag.setId("id_");
+        tag.setCssClass("class");
+        tag.setCssStyle("style");
+        tag.setTitle("title");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<div name='name_' id='id_' class='class' 
style='style' title='title'></div>");
+        assertEquals(expected, output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        this.tag = new Div(stack, request, response);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "div";
+    }
+}

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FieldErrorTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FieldErrorTest.java?rev=726799&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FieldErrorTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FieldErrorTest.java
 Mon Dec 15 13:01:55 2008
@@ -0,0 +1,122 @@
+/*
+ * $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.struts2.views.java.simple;
+
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.components.FieldError;
+
+import java.util.*;
+
+public class FieldErrorTest extends AbstractTest {
+    private FieldError tag;
+    private Map<String, List<String>> errors;
+    private List<String> fieldNames;
+
+    public void testRenderFieldError() {
+        tag.setCssClass("class");
+        tag.setCssStyle("style");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul style='style' class='class'><li><span>not 
good</span></li><li><span>bad</span></li><li><span>bad to the 
bone</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderFieldErrorWithoutCssClass() {
+        tag.setCssStyle("style");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul style='style' 
class='errorMessage'><li><span>not 
good</span></li><li><span>bad</span></li><li><span>bad to the 
bone</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderFieldErrorWithoutFieldName() {
+        this.fieldNames.clear();
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul class='errorMessage'><li><span>bad to the 
bone</span></li><li><span>not good</span></li><li><span>bad</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+     public void testRenderFieldErrorWithoutOneFieldName() {
+        this.fieldNames.remove(1);
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<ul class='errorMessage'><li><span>not 
good</span></li><li><span>bad</span></li></ul>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderActionErrorNoErrors() {
+        this.errors.clear();
+        this.fieldNames.clear();
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        assertEquals("", output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        this.errors = new HashMap<String, List<String>>(){
+            {
+                put("field1", Arrays.asList("not good", "bad"));
+                put("field2", Arrays.asList("bad to the bone"));
+            }
+        };
+        this.fieldNames = new ArrayList<String>();
+        this.fieldNames.add("field1");
+        this.fieldNames.add("field2");
+
+        //errors are needed to setup stack
+        super.setUp();
+        this.tag = new FieldError(stack, request, response);
+    }
+
+    @Override
+    protected void setUpStack() {
+        super.setUpStack();
+        expectFind("fieldErrorFieldNames", this.fieldNames);
+        expectFind("fieldErrors", this.errors);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "fielderror";
+    }
+}

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FormTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FormTest.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FormTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/FormTest.java
 Mon Dec 15 13:01:55 2008
@@ -46,7 +46,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("form", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<form name='name_' id='id_' onsubmit='submit' 
onreset='reset' target='target_' enctype='enc' class='class_' style='style_' 
title='title' accept-charset='charset_' method='post'></form>");
         assertEquals(expected, output);
@@ -55,7 +55,7 @@
     public void testDefaultMethod() {
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("form", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<form method='post'></form>");
         assertEquals(expected, output);

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SelectTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SelectTest.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SelectTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SelectTest.java
 Mon Dec 15 13:01:55 2008
@@ -43,7 +43,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("select", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<select name='name_' size='10' tabindex='1' 
id='id_' class='class' style='style' title='title'></select>");
         assertEquals(expected, output);
@@ -56,7 +56,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("select", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<select name=''><option 
value='key0'>val</option></select>");
         assertEquals(expected, output);
@@ -69,7 +69,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("select", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<select name=''><option 
value='1'>val</option></select>");
         assertEquals(expected, output);
@@ -80,7 +80,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("select", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<select name=''><option 
value='key0'>val</option></select>");
         assertEquals(expected, output);
@@ -94,7 +94,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("select", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<select name='' value='1'><option value='1' 
selected='selected'>val</option></select>");
         assertEquals(expected, output);

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/TextFieldTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/TextFieldTest.java?rev=726799&r1=726798&r2=726799&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/TextFieldTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/TextFieldTest.java
 Mon Dec 15 13:01:55 2008
@@ -42,7 +42,7 @@
 
         tag.evaluateParams();
         map.putAll(tag.getParameters());
-        theme.renderTag("textfield", context);
+        theme.renderTag(getTagName(), context);
         String output = writer.getBuffer().toString();
         String expected = s("<input type='text' name='name' size='10' 
maxlength='11' value='val1' tabindex='1' id='id1' class='class1' style='style1' 
title='title'></input>");
         assertEquals(expected, output);


Reply via email to