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.renderkit.html.ext;
20  
21  import java.io.StringWriter;
22  
23  import junit.framework.Test;
24  import junit.framework.TestSuite;
25  
26  import org.apache.myfaces.component.html.ext.HtmlInputTextarea;
27  import org.apache.myfaces.test.AbstractTomahawkViewControllerTestCase;
28  import org.apache.myfaces.test.utils.HtmlCheckAttributesUtil;
29  import org.apache.myfaces.test.utils.HtmlRenderedAttr;
30  import org.apache.shale.test.mock.MockResponseWriter;
31  
32  public class HtmlTextareaRendererTest extends AbstractTomahawkViewControllerTestCase
33  {
34      private HtmlInputTextarea inputTextarea;
35  
36      public HtmlTextareaRendererTest(String name)
37      {
38          super(name);
39      }
40      
41      public static Test suite() 
42      {
43          return new TestSuite(HtmlTextareaRendererTest.class);
44      }
45  
46      public void setUp() throws Exception
47      {
48          super.setUp();
49          inputTextarea = new HtmlInputTextarea();
50      }
51  
52      public void tearDown() throws Exception
53      {
54          super.tearDown();
55          inputTextarea = null;
56      }
57  
58      public void testRenderDefault() throws Exception
59      {
60          inputTextarea.encodeEnd(facesContext);
61          facesContext.renderResponse();
62  
63          MockResponseWriter writer = (MockResponseWriter)facesContext.getResponseWriter();
64          String output = writer.getWriter().toString();
65          assertEquals("<textarea name=\"_id0\"></textarea>", output);
66      }
67  
68      public void testRenderColsRows() throws Exception
69      {
70          inputTextarea.setCols(5);
71          inputTextarea.setRows(10);
72          inputTextarea.encodeEnd(facesContext);
73          facesContext.renderResponse();
74  
75          MockResponseWriter writer = (MockResponseWriter)facesContext.getResponseWriter();
76          String output = writer.getWriter().toString();
77          assertEquals("<textarea name=\"_id0\" cols=\"5\" rows=\"10\"></textarea>", output);
78      }
79      
80      public void testHtmlPropertyPassTru() throws Exception
81      {
82          HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
83          
84          MockResponseWriter writer = (MockResponseWriter)facesContext.getResponseWriter();
85          HtmlCheckAttributesUtil.checkRenderedAttributes(
86                  inputTextarea, facesContext, writer, attrs);
87          if(HtmlCheckAttributesUtil.hasFailedAttrRender(attrs)) 
88          {
89              fail(HtmlCheckAttributesUtil.constructErrorMessage(attrs, writer.getWriter().toString()));
90          }
91      }
92  }