Author: musachy
Date: Thu Dec 18 12:30:09 2008
New Revision: 727810
URL: http://svn.apache.org/viewvc?rev=727810&view=rev
Log:
Fix bugs in head and label tags
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HeadHandler.java
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HeadTest.java
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HeadHandler.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HeadHandler.java?rev=727810&r1=727809&r2=727810&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HeadHandler.java
(original)
+++
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HeadHandler.java
Thu Dec 18 12:30:09 2008
@@ -22,10 +22,13 @@
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.ServletActionContext;
import java.io.IOException;
import java.util.Map;
+import com.opensymphony.xwork2.ActionContext;
+
public class HeadHandler extends AbstractTagHandler implements TagGenerator {
public void generate() throws IOException {
@@ -33,7 +36,10 @@
Attributes attrs = new Attributes();
attrs.put("type", "text/javascript");
- StringBuilder sb = new StringBuilder((String) findValue("base"));
+ String base = ServletActionContext.getRequest().getContextPath();
+ StringBuilder sb = new StringBuilder();
+ if (base != null)
+ sb.append(base);
sb.append("/struts/utils.js");
attrs.put("src", sb.toString());
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java?rev=727810&r1=727809&r2=727810&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
(original)
+++
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
Thu Dec 18 12:30:09 2008
@@ -26,6 +26,8 @@
import java.io.IOException;
import java.util.Map;
+import com.opensymphony.xwork2.util.TextUtils;
+
public class LabelHandler extends AbstractTagHandler implements TagGenerator {
public void generate() throws IOException {
@@ -39,6 +41,9 @@
.addIfExists("style", params.get("cssStyle"))
.addIfExists("title", params.get("title"));
super.start("label", a);
+ String value = (String) params.get("nameValue");
+ if (TextUtils.stringSet(value))
+ characters(value);
super.end("label");
}
}
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java?rev=727810&r1=727809&r2=727810&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java
(original)
+++
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java
Thu Dec 18 12:30:09 2008
@@ -6,6 +6,7 @@
import com.opensymphony.xwork2.util.ValueStack;
import junit.framework.TestCase;
import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.ServletActionContext;
import org.apache.struts2.components.Component;
import org.apache.struts2.components.UIBean;
import org.apache.struts2.components.template.Template;
@@ -71,8 +72,9 @@
context = new TemplateRenderingContext(template, writer, stack, map,
null);
stackContext.put(Component.COMPONENT_STACK, new Stack());
- request = EasyMock.createMock(HttpServletRequest.class);
- response = EasyMock.createMock(HttpServletResponse.class);
+ request = EasyMock.createNiceMock(HttpServletRequest.class);
+
EasyMock.expect(request.getContextPath()).andReturn("/some/path").anyTimes();
+ response = EasyMock.createNiceMock(HttpServletResponse.class);
EasyMock.expect(stack.getContext()).andReturn(stackContext).anyTimes();
@@ -83,8 +85,12 @@
stackContext.put(ActionContext.CONTAINER, container);
+ EasyMock.replay(request);
EasyMock.replay(stack);
EasyMock.replay(container);
+
+ ActionContext.setContext(new ActionContext(stackContext));
+ ServletActionContext.setRequest(request);
}
protected static String s(String input) {
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HeadTest.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HeadTest.java?rev=727810&r1=727809&r2=727810&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HeadTest.java
(original)
+++
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HeadTest.java
Thu Dec 18 12:30:09 2008
@@ -31,7 +31,7 @@
map.putAll(tag.getParameters());
theme.renderTag(getTagName(), context);
String output = writer.getBuffer().toString();
- String expected = s("<script type='text/javascript'
src='/la-base/struts/utils.js'></script>");
+ String expected = s("<script type='text/javascript'
src='/some/path/struts/utils.js'></script>");
assertEquals(expected, output);
}
@@ -42,12 +42,6 @@
}
@Override
- protected void setUpStack() {
- super.setUpStack();
- expectFind("base", "/la-base");
- }
-
- @Override
protected UIBean getUIBean() {
return tag;
}
Modified:
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java?rev=727810&r1=727809&r2=727810&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
(original)
+++
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
Thu Dec 18 12:30:09 2008
@@ -41,7 +41,7 @@
map.putAll(tag.getParameters());
theme.renderTag(getTagName(), context);
String output = writer.getBuffer().toString();
- String expected = s("<label name='name' for='for' id='id1'
class='class1' style='style1' title='title'></label>");
+ String expected = s("<label name='name' for='for' id='id1'
class='class1' style='style1' title='title'>val1</label>");
assertEquals(expected, output);
}