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);