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