View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.component.html.ext;
20  
21  import java.io.IOException;
22  
23  import javax.faces.application.FacesMessage;
24  import javax.faces.component.UIComponent;
25  
26  import junit.framework.Test;
27  
28  import org.apache.myfaces.test.AbstractTomahawkViewControllerTestCase;
29  import org.apache.myfaces.test.utils.TestUtils;
30  
31  public class HtmlMessageTest extends AbstractTomahawkViewControllerTestCase
32  {
33  
34      public HtmlMessageTest(String name)
35      {
36          super(name);
37      }
38  
39      protected void setUp() throws Exception
40      {
41          super.setUp();
42      }
43  
44      protected void tearDown() throws Exception
45      {
46          super.tearDown();
47      }
48  
49      /*
50      public static Test suite()
51      {
52          return null; // keep this method or maven won't run it
53      }*/
54  
55      /**
56       * Verify component renders with the default renderer.
57       */
58      public void testDefaultRenderer()
59      {
60          // Define required panel group
61          HtmlPanelGroup panelGroup = new HtmlPanelGroup();
62  
63          // Define the referenced component
64          UIComponent referencedComponent = new HtmlInputText();
65          referencedComponent.setId("referencedComponent");
66          //referencedComponent.setParent(panelGroup);
67          panelGroup.getChildren().add(referencedComponent);
68          facesContext.addMessage(referencedComponent.getId(), new FacesMessage(
69                  FacesMessage.SEVERITY_ERROR, "summary", "detail"));
70  
71          // Define the component
72          HtmlMessage component = new HtmlMessage();
73          component.setId("TestComponent");
74  
75          referencedComponent.setParent(panelGroup);
76          panelGroup.getChildren().add(component);
77          component.setFor(referencedComponent.getId());
78  
79          // Render the component
80          try
81          {
82              TestUtils.renderComponent(facesContext, panelGroup);
83          }
84          catch (IOException e)
85          {
86              fail(e.getMessage());
87          }
88  
89          // Verify component was rendered
90          assertIdExists(component.getId());
91      }
92  }