You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2005/10/01 19:45:38 UTC
svn commit: r293007 - in /struts/shale/trunk: clay-plugin/src/conf/
clay-plugin/src/java/org/apache/shale/clay/
clay-plugin/src/java/org/apache/shale/clay/component/chain/
clay-plugin/src/java/org/apache/shale/clay/config/beans/
clay-plugin/src/java/or...
Author: gvanmatre
Date: Sat Oct 1 10:45:24 2005
New Revision: 293007
URL: http://svn.apache.org/viewcvs?rev=293007&view=rev
Log:
Fix for bug#: 36884, added more unit test coverage and some cleanup.
Added:
struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/ClayAmalgamTestCase.java
struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/hello.html
Modified:
struts/shale/trunk/clay-plugin/src/conf/view-config.xml
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/ClayContext.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/AttributeBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ConverterBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ElementBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValidatorBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Node.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/BuilderRuleContext.java
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockVariableResolver.java
Modified: struts/shale/trunk/clay-plugin/src/conf/view-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/conf/view-config.xml?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/conf/view-config.xml (original)
+++ struts/shale/trunk/clay-plugin/src/conf/view-config.xml Sat Oct 1 10:45:24 2005
@@ -575,7 +575,7 @@
<attributes>
<set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayImport}"/>
<set name="url" bindingType="None"/>
- <set name="excapeXml" bindingType="None" value="false"/>
+ <set name="escapeXml" bindingType="None" value="false"/>
</attributes>
</component>
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties Sat Oct 1 10:45:24 2005
@@ -26,8 +26,8 @@
parser.load.file=Loading file "{0}".
parser.load.error=Exception parsing file "{0}".
parser.load.rules=Loading digester rules.
-parser.unmatched.endtoken=Unmatched ending non-optional token: {0}
-parser.unmatched.begintoken=Unmatched begining token: {0}
+parser.unmatched.endtoken=Unmatched ending non-optional token: {0}\n{1}
+parser.unmatched.begintoken=Unmatched begining token: {0}\n{1}
#org.apache.shale.clay.parser.NodeTokenizer
node.document.size=Indexing Document containing {0} character(s).
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/ClayContext.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/ClayContext.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/ClayContext.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/ClayContext.java Sat Oct 1 10:45:24 2005
@@ -34,6 +34,8 @@
*/
public class ClayContext extends ContextBase {
+ private static final long serialVersionUID = 3618132372818901298L;
+
/**
* <p>The name of the ViewController or back bean that
* is bound to the {@link org.apache.shale.clay.component.Clay} component.
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ActionListenerBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ActionListenerBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ActionListenerBean.java Sat Oct 1 10:45:24 2005
@@ -23,5 +23,7 @@
* a subclass of {@link ComponentBean} where this class acts like an enumerated type.
*/
public class ActionListenerBean extends InnerComponentBean {
+
+ private static final long serialVersionUID = 3256723996136716338L;
}
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/AttributeBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/AttributeBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/AttributeBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/AttributeBean.java Sat Oct 1 10:45:24 2005
@@ -28,6 +28,8 @@
*/
public class AttributeBean implements Comparable, Serializable {
+ private static final long serialVersionUID = 3689352130423305014L;
+
/**
* <p>Mnemonic the signifies the a method binding expression.</p>
*/
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentBean.java Sat Oct 1 10:45:24 2005
@@ -45,6 +45,8 @@
*/
public class ComponentBean implements Comparable, Serializable {
+ private static final long serialVersionUID = 3907217039524312373L;
+
/**
* <p>Common Logging utility class </p>
*/
@@ -77,6 +79,8 @@
* the collection case insensitive.</p>
*/
protected class Attributes extends TreeMap {
+
+ private static final long serialVersionUID = 3905244515647173938L;
/**
* <p>Make the key case insensitive.</p>
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ConverterBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ConverterBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ConverterBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ConverterBean.java Sat Oct 1 10:45:24 2005
@@ -23,5 +23,7 @@
* a subclass of {@link ComponentBean} where this class acts like an enumerated type.
*/
public class ConverterBean extends InnerComponentBean {
+
+ private static final long serialVersionUID = 3258417218273621552L;
}
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ElementBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ElementBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ElementBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ElementBean.java Sat Oct 1 10:45:24 2005
@@ -25,6 +25,8 @@
public class ElementBean extends InnerComponentBean implements Comparable {
+ private static final long serialVersionUID = 3690760596346123828L;
+
/**
* <p>An integer id that is used to order a nested component within it's
* child collection. This id is also used a the "signature" when resolving
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/InnerComponentBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/InnerComponentBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/InnerComponentBean.java Sat Oct 1 10:45:24 2005
@@ -24,6 +24,8 @@
*/
public class InnerComponentBean extends ComponentBean {
+ private static final long serialVersionUID = 3257283630291301426L;
+
/**
* <p>This method describes the inheritance relationship for a containing component.
* It works kind of like a java inner class in that the jsfid becomes the parent that
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValidatorBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValidatorBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValidatorBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValidatorBean.java Sat Oct 1 10:45:24 2005
@@ -23,5 +23,7 @@
* a subclass of {@link ComponentBean} where this class acts like an enumerated type.
*/
public class ValidatorBean extends InnerComponentBean {
+
+ private static final long serialVersionUID = 4050763771565782322L;
}
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java Sat Oct 1 10:45:24 2005
@@ -23,5 +23,7 @@
* a subclass of {@link ComponentBean} where this class acts like an enumerated type.
*/
public class ValueChangeListenerBean extends InnerComponentBean {
+
+ private static final long serialVersionUID = 3256718472791536436L;
}
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Node.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Node.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Node.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Node.java Sat Oct 1 10:45:24 2005
@@ -234,8 +234,8 @@
public String toString() {
StringBuffer buff = new StringBuffer();
- buff.append("name=").append(name).append(" isStart=\"").append(isStart)
- .append(" isEnd=\"").append(isEnd).append(" isWellFormed=")
+ buff.append("name=").append(name).append(" isStart=").append(isStart)
+ .append(" isEnd=").append(isEnd).append(" isWellFormed=")
.append(isWellFormed).append(" isComment=").append(isComment)
.append("\n").append(token).append("\n").append(attributes);
return buff.toString();
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java Sat Oct 1 10:45:24 2005
@@ -70,6 +70,8 @@
*/
private class Attributes extends TreeMap implements Map {
+ private static final long serialVersionUID = 3906654111096190000L;
+
/**
* <p> Returns the value of the attribute using a offset
* range within the parsed document. The parameter <code>key</code>
@@ -218,7 +220,7 @@
if (current.getParent() == null) {
throw new RuntimeException(
messages.getMessage("parser.unmatched.endtoken",
- new Object[] {node.getToken()}));
+ new Object[] {node.getToken(), node.getToken().getRawText()}));
}
current = (Node) current.getParent();
@@ -351,7 +353,7 @@
if (node.getName() != null && !node.isWellFormed()) {
throw new RuntimeException(
messages.getMessage("parser.unmatched.begintoken",
- new Object[] {node.getToken()}));
+ new Object[] {node.getToken(), node.getToken().getRawText()}));
}
if (!node.isComment()) {
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/BuilderRuleContext.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/BuilderRuleContext.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/BuilderRuleContext.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/BuilderRuleContext.java Sat Oct 1 10:45:24 2005
@@ -33,6 +33,8 @@
*/
public class BuilderRuleContext extends ContextBase {
+ private static final long serialVersionUID = 4123103940092377137L;
+
/**
* <p>
* The current html node.
Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java Sat Oct 1 10:45:24 2005
@@ -93,7 +93,6 @@
private static TreeMap encodeMap = null;
static {
encodeMap = new TreeMap();
- encodeMap.put("\"", """);
encodeMap.put("'", "'");
encodeMap.put("&", "&");
encodeMap.put("<", "<");
@@ -205,7 +204,8 @@
* <code>shapeValidator</code> attribute of the {@link org.apache.shale.clay.component.Clay}
* component. It expects that the <code>url</code> attribute will contain the file to import
* relative to the web context root. The content of the file will be encode or decode depending
- * on the value of the <code>escapeXml</code> optional attribute. The default is "true". </p>
+ * on the value of the <code>escapeXml</code> optional attribute. The default doesn't apply
+ * any encoding. </p>
*/
public void clayImport(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
@@ -231,9 +231,9 @@
url = tagUtils.eval(url);
boolean escapeXml = true;
- String tmp = (String) clay.getAttributes().get("escapeXml");
- if (tmp != null) {
- escapeXml = tagUtils.evalBoolean(tmp).booleanValue();
+ String escAttribute = (String) clay.getAttributes().get("escapeXml");
+ if (escAttribute != null) {
+ escapeXml = tagUtils.evalBoolean(escAttribute).booleanValue();
}
StringBuffer value = new StringBuffer();
@@ -261,10 +261,12 @@
}
- if (!escapeXml)
- replace(value, decodeMap);
- else
- replace(value, encodeMap);
+ if (escAttribute != null) {
+ if (!escapeXml)
+ replace(value, decodeMap);
+ else
+ replace(value, encodeMap);
+ }
text.setJsfid("outputText");
text.setComponentType("javax.faces.HtmlOutputText");
Added: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/ClayAmalgamTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/ClayAmalgamTestCase.java?rev=293007&view=auto
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/ClayAmalgamTestCase.java (added)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/ClayAmalgamTestCase.java Sat Oct 1 10:45:24 2005
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed 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.shale.clay.utils;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.faces.component.UIComponent;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.shale.clay.config.beans.AttributeBean;
+import org.apache.shale.clay.config.beans.ComponentBean;
+import org.apache.shale.faces.ShaleConstants;
+import org.apache.shale.test.base.AbstractViewControllerTestCase;
+import org.apache.shale.util.Tags;
+
+public class ClayAmalgamTestCase extends AbstractViewControllerTestCase {
+
+ private ClayAmalgam clayAmalgam = null;
+
+ public void setUp() {
+ super.setUp();
+
+ clayAmalgam = new ClayAmalgam();
+ application.addComponent("org.apache.shale.clay.component.Clay", "org.apache.shale.clay.component.Clay");
+ servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new Tags());
+ }
+
+ // Construct a new instance of this test case.
+ public ClayAmalgamTestCase(String name) {
+ super(name);
+ }
+
+ // Return the tests included in this test case.
+ public static Test suite() {
+ return (new TestSuite(ClayAmalgamTestCase.class));
+ }
+
+ //test the import file into a outputText component
+ public void testClayImport() {
+ //test excapeXml=true
+ Map requestParams = new TreeMap();
+ requestParams.put("url", "/org/apache/shale/clay/utils/hello.html");
+ externalContext.setRequestParameterMap(requestParams);
+
+ ComponentBean displayElement = new ComponentBean();
+ displayElement.setId("clayImport");
+ displayElement.setComponentType("org.apache.shale.clay.component.Clay");
+ displayElement.setJsfid("clayImport");
+
+ UIComponent component = (UIComponent) application.createComponent("org.apache.shale.clay.component.Clay");
+ component.setId("clayImport");
+ component.getAttributes().put("url","#{param.url}");
+ component.getAttributes().put("escapeXml", Boolean.TRUE.toString());
+
+ clayAmalgam.clayImport(facesContext, component, displayElement);
+
+ assertEquals("jsfid", displayElement.getJsfid(), "outputText");
+ assertEquals("componentType", displayElement.getComponentType(), "javax.faces.HtmlOutputText");
+
+ AttributeBean attr = displayElement.getAttribute("escape");
+ assertNotNull("escape", attr);
+ assertEquals("escape", attr.getValue(), Boolean.FALSE.toString());
+
+ attr = displayElement.getAttribute("isTransient");
+ assertNotNull("isTransient", attr);
+ assertEquals("isTransient", attr.getValue(), Boolean.TRUE.toString());
+
+ attr = displayElement.getAttribute("value");
+ assertNotNull("value", attr);
+ assertEquals("value", attr.getValue(), "<html><head></head><body bgcolor=\"blue\">Hello World</body></html>");
+
+ //test excapeXml=false
+ component.getAttributes().put("escapeXml", Boolean.FALSE.toString());
+ displayElement = new ComponentBean();
+ displayElement.setId("clayImport");
+ displayElement.setComponentType("org.apache.shale.clay.component.Clay");
+ displayElement.setJsfid("clayImport");
+
+ clayAmalgam.clayImport(facesContext, component, displayElement);
+
+ assertEquals("jsfid", displayElement.getJsfid(), "outputText");
+ assertEquals("componentType", displayElement.getComponentType(), "javax.faces.HtmlOutputText");
+
+ attr = displayElement.getAttribute("escape");
+ assertNotNull("escape", attr);
+ assertEquals("escape", attr.getValue(), Boolean.FALSE.toString());
+
+ attr = displayElement.getAttribute("isTransient");
+ assertNotNull("isTransient", attr);
+ assertEquals("isTransient", attr.getValue(), Boolean.TRUE.toString());
+
+ attr = displayElement.getAttribute("value");
+ assertNotNull("value", attr);
+ assertEquals("value", attr.getValue(), "<html><head></head><body bgcolor=\"blue\">Hello World</body></html>");
+
+
+ }
+
+ //convert an escaped value into a un-escaped outputText
+ public void testClayOut() {
+ ComponentBean displayElement = new ComponentBean();
+ displayElement.setId("clayOut");
+ displayElement.setComponentType("org.apache.shale.clay.component.Clay");
+ displayElement.setJsfid("clayOut");
+
+ UIComponent component = (UIComponent) application.createComponent("org.apache.shale.clay.component.Clay");
+ component.setId("clayOut");
+ component.getAttributes().put("value","<html><head></head><body bgcolor=\"blue\">Hello World</body></html>");
+ component.getAttributes().put("escapeXml", Boolean.FALSE.toString());
+
+
+ clayAmalgam.clayOut(facesContext, component, displayElement);
+
+ assertEquals("jsfid", displayElement.getJsfid(), "outputText");
+ assertEquals("componentType", displayElement.getComponentType(), "javax.faces.HtmlOutputText");
+
+ AttributeBean attr = displayElement.getAttribute("escape");
+ assertNotNull("escape", attr);
+ assertEquals("escape", attr.getValue(), Boolean.FALSE.toString());
+
+ attr = displayElement.getAttribute("isTransient");
+ assertNotNull("isTransient", attr);
+ assertEquals("isTransient", attr.getValue(), Boolean.TRUE.toString());
+
+ attr = displayElement.getAttribute("value");
+ assertNotNull("value", attr);
+ assertEquals("value", attr.getValue(), "<html><head></head><body bgcolor=\"blue\">Hello World</body></html>");
+
+ }
+
+}
Added: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/hello.html
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/hello.html?rev=293007&view=auto
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/hello.html (added)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/utils/hello.html Sat Oct 1 10:45:24 2005
@@ -0,0 +1 @@
+<html><head></head><body bgcolor="blue">Hello World</body></html>
\ No newline at end of file
Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockVariableResolver.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockVariableResolver.java?rev=293007&r1=293006&r2=293007&view=diff
==============================================================================
--- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockVariableResolver.java (original)
+++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockVariableResolver.java Sat Oct 1 10:45:24 2005
@@ -70,6 +70,8 @@
return external().getRequestMap();
} else if ("sessionScope".equals(name)) {
return external().getSessionMap();
+ } else if ("param".equals(name)) {
+ return external().getRequestParameterMap();
}
// Search ascending scopes for non-magic names
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org