Author: musachy Date: Mon Mar 9 19:28:20 2009 New Revision: 751799 URL: http://svn.apache.org/viewvc?rev=751799&view=rev Log: WW-3029 Fix backward compatible problem in the Label tag
Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-4.txt struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-5.txt Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java?rev=751799&r1=751798&r2=751799&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java Mon Mar 9 19:28:20 2009 @@ -84,9 +84,12 @@ if (value != null) { addParameter("nameValue", findString(value)); } else if (key != null) { - // get the label from a TextProvider (default value is the key) - String providedLabel = TextProviderHelper.getText(key, key, stack); - addParameter("nameValue", providedLabel); + Object nameValue = parameters.get("nameValue"); + if (nameValue == null || nameValue.toString().length() == 0) { + // get the label from a TextProvider (default value is the key) + String providedLabel = TextProviderHelper.getText(key, key, stack); + addParameter("nameValue", providedLabel); + } } else if (name != null) { String expr = completeExpressionIfAltSyntax(name); addParameter("nameValue", findString(expr)); Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java?rev=751799&r1=751798&r2=751799&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java Mon Mar 9 19:28:20 2009 @@ -97,7 +97,7 @@ tag.doStartTag(); tag.doEndTag(); - verify(LabelTest.class.getResource("Label-2.txt")); + verify(LabelTest.class.getResource("Label-5.txt")); } public void testGenericSimple() throws Exception { @@ -110,7 +110,7 @@ verifyGenericProperties(tag, "xhtml", null); } - public void testWithKey() throws Exception { + public void testWithKeyNoValueFromStack() throws Exception { TestAction testAction = (TestAction) action; final String key = "labelKey"; final String value = "baz"; @@ -122,7 +122,7 @@ tag.setPageContext(pageContext); tag.setLabel("mylabel"); tag.setFor("for"); - tag.setName("foo"); + tag.setName("foo2"); tag.setKey(key); tag.doStartTag(); @@ -131,4 +131,25 @@ verify(LabelTest.class.getResource("Label-2.txt")); } + public void testWithKeyValueFromStack() throws Exception { + TestAction testAction = (TestAction) action; + final String key = "labelKey"; + final String value = "baz"; + testAction.setText(key, value); + + testAction.setFoo("output"); + + LabelTag tag = new LabelTag(); + tag.setPageContext(pageContext); + tag.setLabel("mylabel"); + tag.setFor("for"); + tag.setName("foo"); + tag.setKey(key); + + tag.doStartTag(); + tag.doEndTag(); + + verify(LabelTest.class.getResource("Label-4.txt")); + } + } Modified: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt?rev=751799&r1=751798&r2=751799&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt (original) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt Mon Mar 9 19:28:20 2009 @@ -1,4 +1,4 @@ <tr> - <td class="tdLabel"><label for="foo" class="label">mylabel:</label></td> - <td><label id="foo" for="for">baz</label></td> + <td class="tdLabel"><label for="foo2" class="label">mylabel:</label></td> + <td><label id="foo2" for="for">baz</label></td> </tr> Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-4.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-4.txt?rev=751799&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-4.txt (added) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-4.txt Mon Mar 9 19:28:20 2009 @@ -0,0 +1,4 @@ +<tr> + <td class="tdLabel"><label for="foo" class="label">mylabel:</label></td> + <td><label id="foo" for="for">output</label></td> +</tr> \ No newline at end of file Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-5.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-5.txt?rev=751799&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-5.txt (added) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-5.txt Mon Mar 9 19:28:20 2009 @@ -0,0 +1,4 @@ +<tr> + <td class="tdLabel"><label for="foo" class="label">mylabel:</label></td> + <td><label id="foo" for="for">baz</label></td> +</tr> \ No newline at end of file