Author: musachy Date: Mon Dec 15 10:39:09 2008 New Revision: 726762 URL: http://svn.apache.org/viewvc?rev=726762&view=rev Log: Add ActionError and Anchor handlers
Added: 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/AnchorHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java (contents, props changed) - copied, changed from r726697, struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTestCase.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 Removed: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTestCase.java Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.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/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 Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java?rev=726762&r1=726761&r2=726762&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java Mon Dec 15 10:39:09 2008 @@ -29,7 +29,7 @@ public class XHTMLTagSerializer implements TagSerializer { private Writer writer; - + public void characters(String text) throws IOException { characters(text, true); } @@ -47,22 +47,25 @@ public void setNext(TagHandler next) { } - public void start(String name, Attributes a) throws IOException { + public void start(String name, Attributes attrs) throws IOException { writer.write("<"); writer.write(name); - for (String key : a.keySet()) { - writer.write(" "); - writer.write(key); - writer.write("=\""); - writer.write(a.get(key)); - writer.write("\""); + if (attrs != null) { + for (String key : attrs.keySet()) { + writer.write(" "); + writer.write(key); + writer.write("=\""); + writer.write(attrs.get(key)); + writer.write("\""); + } } + writer.write(">"); } public void setup(TemplateRenderingContext context) { this.writer = context.getWriter(); - + } } Added: 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=726762&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java (added) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ActionErrorHandler.java Mon Dec 15 10:39:09 2008 @@ -0,0 +1,62 @@ +/* + * $Id: SelectHandler.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 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"); + + } + end("ul"); + } + } + } +} Added: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java?rev=726762&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java (added) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java Mon Dec 15 10:39:09 2008 @@ -0,0 +1,45 @@ +/* + * $Id: SelectHandler.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 AnchorHandler 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("href", params.get("href"), false) + .addIfExists("title", params.get("title")) + .addIfExists("tabindex", params.get("tabindex")); + start("a", attrs); + end("a"); + } +} 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=726762&r1=726761&r2=726762&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 10:39:09 2008 @@ -37,6 +37,8 @@ put("textfield", new FactoryList(TextFieldHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class)); put("select", new FactoryList(SelectHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class)); put("form", new FactoryList(FormHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class)); + put("a", new FactoryList(AnchorHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class)); + put("actionerror", new FactoryList(ActionErrorHandler.class)); put("empty", new FactoryList(EmptyHandler.class)); }}); setName("simple"); Added: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java?rev=726762&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java (added) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java Mon Dec 15 10:39:09 2008 @@ -0,0 +1,33 @@ +package org.apache.struts2.views.java.simple; + +import org.apache.struts2.components.UIBean; + +public abstract class AbstractCommonAttributesTest extends AbstractTest { + public void testRenderTextFieldScriptingAttrs() { + UIBean tag = getUIBean(); + + applyScriptingAttrs(tag); + + tag.evaluateParams(); + map.putAll(tag.getParameters()); + theme.renderTag(getTagName(), context); + String output = writer.getBuffer().toString(); + + assertScriptingAttrs(output); + } + + public void testRenderTextFieldCommonAttrs() { + UIBean tag = getUIBean(); + + + applyCommonAttrs(tag); + + tag.evaluateParams(); + map.putAll(tag.getParameters()); + theme.renderTag(getTagName(), context); + String output = writer.getBuffer().toString(); + + assertCommongAttrs(output); + } + +} Copied: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java (from r726697, struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTestCase.java) URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java?p2=struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java&p1=struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTestCase.java&r1=726697&r2=726762&rev=726762&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTestCase.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java Mon Dec 15 10:39:09 2008 @@ -1,27 +1,25 @@ package org.apache.struts2.views.java.simple; +import com.opensymphony.xwork2.ActionContext; +import com.opensymphony.xwork2.conversion.impl.XWorkConverter; +import com.opensymphony.xwork2.inject.Container; +import com.opensymphony.xwork2.util.ValueStack; import junit.framework.TestCase; +import org.apache.struts2.StrutsConstants; import org.apache.struts2.components.Component; import org.apache.struts2.components.UIBean; import org.apache.struts2.components.template.Template; import org.apache.struts2.components.template.TemplateRenderingContext; -import org.apache.struts2.StrutsConstants; import org.easymock.EasyMock; -import java.util.Map; -import java.util.HashMap; -import java.util.Stack; -import java.io.StringWriter; - -import com.opensymphony.xwork2.util.ValueStack; -import com.opensymphony.xwork2.ActionContext; -import com.opensymphony.xwork2.conversion.impl.XWorkConverter; -import com.opensymphony.xwork2.inject.Container; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.StringWriter; +import java.util.HashMap; +import java.util.Map; +import java.util.Stack; -public abstract class AbstractTestCase extends TestCase { +public abstract class AbstractTest extends TestCase { private Map<String, String> scriptingAttrs = new HashMap<String, String>(); private Map<String, String> commonAttrs = new HashMap<String, String>(); @@ -37,6 +35,9 @@ protected HttpServletRequest request; protected HttpServletResponse response; + protected abstract UIBean getUIBean(); + + protected abstract String getTagName(); @Override protected void setUp() throws Exception { @@ -82,7 +83,6 @@ stackContext.put(ActionContext.CONTAINER, container); - EasyMock.replay(stack); EasyMock.replay(container); } @@ -95,7 +95,7 @@ EasyMock.expect(stack.findValue(expr, toClass)).andReturn(returnVal); } - protected void expectFind(String expr, Object returnVal) { + protected void expectFind(String expr, Object returnVal) { EasyMock.expect(stack.findValue(expr)).andReturn(returnVal); } @@ -149,7 +149,7 @@ public class ConverterEx extends XWorkConverter { public ConverterEx() { - + } } } Propchange: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java ------------------------------------------------------------------------------ svn:keywords = Id Added: 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=726762&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java (added) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/ActionErrorTest.java Mon Dec 15 10:39:09 2008 @@ -0,0 +1,92 @@ +/* + * $Id: Bean.java 726216 2008-12-13 14:58:16Z 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.components.ActionError; +import org.apache.struts2.components.Anchor; +import org.apache.struts2.components.UIBean; + +import java.util.ArrayList; +import java.util.List; + +public class ActionErrorTest 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='errorMessage'>this clas is bad</span></li><li><span style='style' class='errorMessage'>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(); + 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("actionErrors", this.errors); + } + + @Override + protected UIBean getUIBean() { + return new Anchor(stack, request, response); + } + + @Override + protected String getTagName() { + return "actionerror"; + } +} Added: 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=726762&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java (added) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java Mon Dec 15 10:39:09 2008 @@ -0,0 +1,62 @@ +/* + * $Id: Bean.java 726216 2008-12-13 14:58:16Z 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.components.Anchor; +import org.apache.struts2.components.UIBean; + +public class AnchorTest extends AbstractCommonAttributesTest { + private Anchor tag; + + public void testRenderAnchor() { + tag.setName("name_"); + tag.setDisabled("true"); + tag.setTabindex("1"); + tag.setId("id_"); + tag.setCssClass("class"); + tag.setCssStyle("style"); + tag.setTitle("title"); + tag.setHref("http://sometest.com?ab=10"); + + tag.evaluateParams(); + map.putAll(tag.getParameters()); + theme.renderTag("a", 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); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + this.tag = new Anchor(stack, request, response); + } + + @Override + protected UIBean getUIBean() { + return new Anchor(stack, request, response); + } + + @Override + protected String getTagName() { + return "a"; + } +} 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=726762&r1=726761&r2=726762&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 10:39:09 2008 @@ -20,26 +20,13 @@ */ package org.apache.struts2.views.java.simple; -import org.apache.struts2.components.Select; import org.apache.struts2.components.Form; +import org.apache.struts2.components.UIBean; import org.apache.struts2.components.UrlRenderer; import org.easymock.EasyMock; -import com.opensymphony.xwork2.util.ValueStack; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class FormTest extends AbstractTestCase { - private FormEx tag; - - @Override - protected void setUp() throws Exception { - super.setUp(); - tag = new FormEx(stack, request, response); - UrlRenderer renderer = EasyMock.createNiceMock(UrlRenderer.class); - EasyMock.replay(renderer); - tag.setUrlRenderer(renderer); - } +public class FormTest extends AbstractCommonAttributesTest { + private Form tag; public void testRenderForm() { tag.setName("name_"); @@ -57,7 +44,7 @@ tag.setEnctype("enc"); tag.setMethod("post"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("form", context); String output = writer.getBuffer().toString(); @@ -66,7 +53,7 @@ } public void testDefaultMethod() { - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("form", context); String output = writer.getBuffer().toString(); @@ -74,43 +61,22 @@ assertEquals(expected, output); } - - public void testRenderScriptingAttrs() { - - applyScriptingAttrs(tag); - - tag.processParams(); - map.putAll(tag.getParameters()); - theme.renderTag("form", context); - String output = writer.getBuffer().toString(); - - assertScriptingAttrs(output); + @Override + protected UIBean getUIBean() { + return tag; } - public void testRenderCommonAttrs() { - - applyCommonAttrs(tag); - - tag.processParams(); - map.putAll(tag.getParameters()); - theme.renderTag("form", context); - String output = writer.getBuffer().toString(); - - assertCommongAttrs(output); + @Override + protected String getTagName() { + return "form"; } - class FormEx extends Form { - public FormEx(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { - super(stack, request, response); - } - - public void processParams() { - //these methods are protected - evaluateParams(); - } - - public boolean altSyntax() { - return true; - } + @Override + protected void setUp() throws Exception { + super.setUp(); + tag = new Form(stack, request, response); + UrlRenderer renderer = EasyMock.createNiceMock(UrlRenderer.class); + EasyMock.replay(renderer); + tag.setUrlRenderer(renderer); } } 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=726762&r1=726761&r2=726762&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 10:39:09 2008 @@ -20,21 +20,17 @@ */ package org.apache.struts2.views.java.simple; -import org.apache.struts2.components.TextField; import org.apache.struts2.components.Select; -import org.easymock.EasyMock; -import com.opensymphony.xwork2.util.ValueStack; +import org.apache.struts2.components.UIBean; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.HashMap; -public class SelectTest extends AbstractTestCase { +public class SelectTest extends AbstractCommonAttributesTest { private Bean bean1; + private Select tag; public void testRenderSelect() { - SelectEx tag = new SelectEx(stack, request, response); tag.setName("name_"); tag.setSize("10"); tag.setDisabled("true"); @@ -45,7 +41,7 @@ tag.setCssStyle("style"); tag.setTitle("title"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("select", context); String output = writer.getBuffer().toString(); @@ -54,13 +50,11 @@ } public void testRenderSelectWithHeader() { - SelectEx tag = new SelectEx(stack, request, response); - tag.setList("%{{'key0', 'key1'}}"); tag.setHeaderKey("%{'key0'}"); tag.setHeaderValue("%{'val'}"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("select", context); String output = writer.getBuffer().toString(); @@ -69,13 +63,11 @@ } public void testRenderSelectWithOptions() { - SelectEx tag = new SelectEx(stack, request, response); - tag.setList("%{list}"); tag.setListKey("intField"); tag.setListValue("stringField"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("select", context); String output = writer.getBuffer().toString(); @@ -84,11 +76,9 @@ } public void testRenderSelectWithMapOptions() { - SelectEx tag = new SelectEx(stack, request, response); - tag.setList("%{#{'key0' : 'val'}}"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("select", context); String output = writer.getBuffer().toString(); @@ -97,14 +87,12 @@ } public void testRenderSelectWithOptionSelected() { - SelectEx tag = new SelectEx(stack, request, response); - tag.setList("%{list}"); tag.setListKey("intField"); tag.setListValue("stringField"); tag.setValue("%{'1'}"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("select", context); String output = writer.getBuffer().toString(); @@ -113,6 +101,22 @@ } @Override + protected UIBean getUIBean() { + return tag; + } + + @Override + protected String getTagName() { + return "select"; + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + this.tag = new Select(stack, request, response); + } + + @Override protected void setUpStack() { super.setUpStack(); bean1 = new Bean(); @@ -137,19 +141,4 @@ expectFind("intField", 1); expectFind("stringField", "val"); } - - class SelectEx extends Select { - public SelectEx(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { - super(stack, request, response); - } - - public void processParams() { - //these methods are protected - evaluateParams(); - } - - public boolean altSyntax() { - return true; - } - } } 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=726762&r1=726761&r2=726762&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 10:39:09 2008 @@ -20,28 +20,13 @@ */ package org.apache.struts2.views.java.simple; -import com.opensymphony.xwork2.util.ValueStack; -import com.opensymphony.xwork2.util.TextParseUtil; -import junit.framework.TestCase; -import org.apache.struts2.components.Component; import org.apache.struts2.components.TextField; -import org.apache.struts2.components.template.Template; -import org.apache.struts2.components.template.TemplateRenderingContext; -import org.apache.struts2.views.util.ContextUtil; -import org.easymock.EasyMock; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.StringWriter; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; +import org.apache.struts2.components.UIBean; -public class TextFieldTest extends AbstractTestCase { +public class TextFieldTest extends AbstractCommonAttributesTest { + private TextField tag; public void testRenderTextField() { - TestFieldEx tag = new TestFieldEx(stack, request, response); - tag.setName("name"); tag.setValue("val1"); tag.setSize("10"); @@ -55,7 +40,7 @@ tag.setTitle("title"); - tag.processParams(); + tag.evaluateParams(); map.putAll(tag.getParameters()); theme.renderTag("textfield", context); String output = writer.getBuffer().toString(); @@ -63,50 +48,19 @@ assertEquals(expected, output); } - public void testRenderTextFieldScriptingAttrs() { - TestFieldEx tag = new TestFieldEx(stack, request, response); - - applyScriptingAttrs(tag); - - tag.processParams(); - map.putAll(tag.getParameters()); - theme.renderTag("textfield", context); - String output = writer.getBuffer().toString(); - - assertScriptingAttrs(output); + @Override + protected void setUp() throws Exception { + super.setUp(); + this.tag = new TextField(stack, request, response); } - public void testRenderTextFieldCommonAttrs() { - TestFieldEx tag = new TestFieldEx(stack, request, response); - - applyCommonAttrs(tag); - - tag.processParams(); - map.putAll(tag.getParameters()); - theme.renderTag("textfield", context); - String output = writer.getBuffer().toString(); - - assertCommongAttrs(output); + @Override + protected UIBean getUIBean() { + return tag; } - class TestFieldEx extends TextField { - public TestFieldEx(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { - super(stack, request, response); - } - - public void processParams() { - //these methods are protected - evaluateParams(); - evaluateExtraParams(); - } - - public boolean altSyntax() { - return true; - } - - protected Object findValue(String expr, Class toType) { - return doFindValue(expr, toType); - } + @Override + protected String getTagName() { + return "textfield"; } - }