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";
}
-
}