You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ja...@apache.org on 2010/07/13 17:44:32 UTC

svn commit: r963766 - in /myfaces: core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Author: jakobk
Date: Tue Jul 13 15:44:32 2010
New Revision: 963766

URL: http://svn.apache.org/viewvc?rev=963766&view=rev
Log:
MYFACES-2816 h:button must support the disabled attribute (spec rev A)

Modified:
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java?rev=963766&r1=963765&r2=963766&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlOutcomeTargetButtonRendererTest.java Tue Jul 13 15:44:32 2010
@@ -29,6 +29,8 @@ import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import org.apache.myfaces.application.NavigationHandlerImpl;
+import org.apache.myfaces.shared_impl.renderkit.JSFAttr;
+import org.apache.myfaces.shared_impl.renderkit.html.HTML;
 import org.apache.myfaces.test.base.AbstractJsfTestCase;
 import org.apache.myfaces.test.mock.MockRenderKitFactory;
 import org.apache.myfaces.test.mock.MockResponseWriter;
@@ -197,4 +199,26 @@ public class HtmlOutcomeTargetButtonRend
         }
     }
     
+    /**
+     * Tests if the h:button is rendered accordingly if disabled is true.
+     */
+    public void testDisabledAttribute() 
+    {
+        outcomeTargetButton.getAttributes().put(JSFAttr.DISABLED_ATTR, "true");
+        try 
+        {
+            outcomeTargetButton.encodeAll(facesContext);
+            String output = ((StringWriter) writer.getWriter()).getBuffer().toString();
+            
+            // Assertions
+            assertFalse(output.contains(HTML.ONCLICK_ATTR)); // the output must not contain onclick 
+            assertTrue(output.contains(HTML.DISABLED_ATTR)); // the ouput must contain disabled
+        }
+        catch (Exception e)
+        {
+            fail(e.getMessage());
+        }
+        
+    }
+    
 }

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?rev=963766&r1=963765&r2=963766&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Tue Jul 13 15:44:32 2010
@@ -207,6 +207,11 @@ public final class HtmlRendererUtils {
 
     private static boolean isTrue(Object obj)
     {
+        if (obj instanceof String)
+        {
+            return new Boolean((String) obj);
+        }
+        
         if(!(obj instanceof Boolean))
             return false;