Author: musachy Date: Wed Nov 19 10:47:34 2008 New Revision: 719021 URL: http://svn.apache.org/viewvc?rev=719021&view=rev Log: WW-2610 dont set "style" attribute, if there are field errors and cssClass was set. Tests added.
Thanks to Gabriel Belingueres for the patch Added: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt (with props) struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-2.txt struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-3.txt Modified: struts/struts2/trunk/core/src/main/resources/template/simple/css.ftl Modified: struts/struts2/trunk/core/src/main/resources/template/simple/css.ftl URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/css.ftl?rev=719021&r1=719020&r2=719021&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/resources/template/simple/css.ftl (original) +++ struts/struts2/trunk/core/src/main/resources/template/simple/css.ftl Wed Nov 19 10:47:34 2008 @@ -28,7 +28,7 @@ <#elseif !(parameters.cssClass?exists) && (hasFieldErrors && parameters.cssErrorClass?exists)> class="${parameters.cssErrorClass?html}"<#rt/> </#if> -<#if parameters.cssStyle?exists && !(hasFieldErrors && parameters.cssErrorStyle?exists)> +<#if parameters.cssStyle?exists && !(hasFieldErrors && (parameters.cssErrorStyle?exists || parameters.cssErrorClass?exists))> style="${parameters.cssStyle?html}"<#rt/> <#elseif hasFieldErrors && parameters.cssErrorStyle?exists> style="${parameters.cssErrorStyle?html}"<#rt/> Added: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java?rev=719021&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java (added) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java Wed Nov 19 10:47:34 2008 @@ -0,0 +1,85 @@ +/* + * $Id: User.java 651946 2008-04-27 13:41:38Z apetrelli $ + * + * 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.jsp.ui; + +import org.apache.struts2.TestAction; +import org.apache.struts2.views.jsp.AbstractUITagTest; + +public class ValidationStylesTest extends AbstractUITagTest { + private TextFieldTag tag; + + public void testNormalStyle() throws Exception { + tag.setCssStyle("style"); + tag.doStartTag(); + tag.doEndTag(); + + verify(ValidationStylesTest.class.getResource("validationstyles-1.txt")); + } + + public void testErrorStyle() throws Exception { + tag.setCssErrorStyle("errstyle"); + tag.doStartTag(); + tag.doEndTag(); + + verify(ValidationStylesTest.class.getResource("validationstyles-2.txt")); + } + + public void testErrorClass() throws Exception { + tag.setCssErrorClass("errclass"); + tag.doStartTag(); + tag.doEndTag(); + + verify(ValidationStylesTest.class.getResource("validationstyles-3.txt")); + } + + public void testStyleAndErrorStyle() throws Exception { + tag.setCssStyle("style"); + tag.setCssErrorStyle("errstyle"); + tag.doStartTag(); + tag.doEndTag(); + + verify(ValidationStylesTest.class.getResource("validationstyles-2.txt")); + } + + public void testStyleAndErrorClass() throws Exception { + tag.setCssStyle("style"); + tag.setCssErrorClass("errclass"); + tag.doStartTag(); + tag.doEndTag(); + + verify(ValidationStylesTest.class.getResource("validationstyles-3.txt")); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + TestAction testAction = (TestAction) action; + tag = new TextFieldTag(); + tag.setPageContext(pageContext); + tag.setId("myId"); + tag.setLabel("mylabel"); + tag.setName("foo"); + tag.setValue("bar"); + tag.setTitle("mytitle"); + + testAction.addFieldError("foo", "bar error message"); + } +} Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt?rev=719021&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt (added) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt Wed Nov 19 10:47:34 2008 @@ -0,0 +1,7 @@ +<tr errorFor="myId"> + <td align="center" valign="top" colspan="2"><span class="errorMessage">bar error message</span></td> +</tr> +<tr> + <td class="tdLabel"><label for="myId" class="errorLabel">mylabel:</label></td> + <td><input type="text" name="foo" value="bar" id="myId" style="style" title="mytitle"/></td> +</tr> Propchange: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-1.txt ------------------------------------------------------------------------------ svn:keywords = Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-2.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-2.txt?rev=719021&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-2.txt (added) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-2.txt Wed Nov 19 10:47:34 2008 @@ -0,0 +1,7 @@ +<tr errorFor="myId"> + <td align="center" valign="top" colspan="2"><span class="errorMessage">bar error message</span></td> +</tr> +<tr> + <td class="tdLabel"><label for="myId" class="errorLabel">mylabel:</label></td> + <td><input type="text" name="foo" value="bar" id="myId" style="errstyle" title="mytitle"/></td> +</tr> Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-3.txt URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-3.txt?rev=719021&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-3.txt (added) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/validationstyles-3.txt Wed Nov 19 10:47:34 2008 @@ -0,0 +1,7 @@ +<tr errorFor="myId"> + <td align="center" valign="top" colspan="2"><span class="errorMessage">bar error message</span></td> +</tr> +<tr> + <td class="tdLabel"><label for="myId" class="errorLabel">mylabel:</label></td> + <td><input type="text" name="foo" value="bar" id="myId" class="errclass" title="mytitle"/></td> +</tr>