You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2006/10/04 23:02:55 UTC

svn commit: r453024 - in /myfaces: core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java

Author: baranda
Date: Wed Oct  4 14:02:55 2006
New Revision: 453024

URL: http://svn.apache.org/viewvc?view=rev&rev=453024
Log:
Implemented MYFACES-1213 (JSR-252 Issue #27) - specified rendering of style, class, lang and dir for the h:messages

Added:
    myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java   (with props)
Modified:
    myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java

Added: myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java?view=auto&rev=453024
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java (added)
+++ myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java Wed Oct  4 14:02:55 2006
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2002-2006 The European Bioinformatics Institute, and others.
+ * All rights reserved. Please see the file LICENSE
+ * in the root directory of this distribution.
+ */
+package org.apache.myfaces.renderkit.html;
+
+import org.apache.shale.test.base.AbstractJsfTestCase;
+import org.apache.shale.test.mock.MockRenderKitFactory;
+import org.apache.shale.test.mock.MockResponseWriter;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.html.HtmlMessages;
+import java.io.StringWriter;
+
+/**
+ * @author Bruno Aranda (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+public class HtmlMessagesRendererTest extends AbstractJsfTestCase
+{
+    private static final String ERROR_CLASS = "errorClass";
+    private static final String WARN_CLASS = "warnClass";
+    private static final String INFO_CLASS = "infoClass";
+
+    private MockResponseWriter writer;
+    private HtmlMessages messages;
+
+    public HtmlMessagesRendererTest(String name)
+    {
+        super(name);
+    }
+
+    protected void setUp() throws Exception
+    {
+        super.setUp();
+
+        messages = new HtmlMessages();
+        messages.setErrorClass(ERROR_CLASS);
+        messages.setWarnClass(WARN_CLASS);
+        messages.setInfoClass(INFO_CLASS);
+
+        writer = new MockResponseWriter(new StringWriter(), null, null);
+        facesContext.setResponseWriter(writer);
+
+        facesContext.getViewRoot().setRenderKitId(MockRenderKitFactory.HTML_BASIC_RENDER_KIT);
+        facesContext.getRenderKit().addRenderer(
+                messages.getFamily(),
+                messages.getRendererType(),
+                new HtmlMessagesRenderer());
+
+    }
+
+    protected void tearDown() throws Exception
+    {
+        super.tearDown();
+        writer = null;
+    }
+
+    public void testLayoutTable_Style() throws Exception
+    {
+        facesContext.addMessage("test1", new FacesMessage(FacesMessage.SEVERITY_ERROR, "errorSumary", "detailSummary"));
+        facesContext.addMessage("test2", new FacesMessage(FacesMessage.SEVERITY_WARN, "warnSumary", "warnSummary"));
+
+        messages.setLayout("table");
+        messages.setStyle("left: 48px; top: 432px; position: absolute");
+
+        HtmlMessagesRenderer renderer = new HtmlMessagesRenderer();
+        renderer.encodeEnd(facesContext, messages);
+
+        facesContext.renderResponse();
+
+        String output = writer.getWriter().toString();
+
+        assertEquals("<table style=\"left: 48px; top: 432px; position: absolute\"><tr><td><span class=\"warnClass\">warnSumary</span></td></tr>" +
+                "<tr><td><span class=\"errorClass\">errorSumary</span></td></tr></table>", output);
+    }
+}

Propchange: myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java?view=diff&rev=453024&r1=453023&r2=453024
==============================================================================
--- myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java (original)
+++ myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java Wed Oct  4 14:02:55 2006
@@ -15,13 +15,11 @@
  */
 package org.apache.myfaces.shared.renderkit.html;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.shared.renderkit.JSFAttr;
 import org.apache.myfaces.shared.renderkit.RendererUtils;
-import org.apache.myfaces.shared.renderkit.html.HTML;
-import org.apache.myfaces.shared.renderkit.html.HtmlMessageRendererBase;
 import org.apache.myfaces.shared.util.NullIterator;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
@@ -89,6 +87,7 @@
 
         writer.startElement(HTML.UL_ELEM, messages);
         HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+        HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES);
 
         while(messagesIterator.hasNext())
         {
@@ -113,6 +112,7 @@
 
         writer.startElement(HTML.TABLE_ELEM, messages);
         HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+        HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES);
 
         while(messagesIterator.hasNext())
         {