1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.custom.ajaxchildcombobox;
20
21 import javax.faces.el.MethodBinding;
22
23 import junit.framework.Test;
24 import junit.framework.TestSuite;
25
26 import org.apache.myfaces.component.html.ext.HtmlSelectOneMenu;
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 HtmlAjaxChildComboBoxRendererTest extends AbstractTomahawkViewControllerTestCase
33 {
34 private MockResponseWriter writer;
35 private AjaxChildComboBox childComboBox;
36
37 public HtmlAjaxChildComboBoxRendererTest(String name)
38 {
39 super(name);
40 }
41
42 public static Test suite() {
43 return new TestSuite(HtmlAjaxChildComboBoxRendererTest.class);
44 }
45
46 public void setUp() throws Exception {
47 super.setUp();
48 writer = (MockResponseWriter)facesContext.getResponseWriter();
49 childComboBox = new AjaxChildComboBox();
50
51 HtmlSelectOneMenu parentMenu = new HtmlSelectOneMenu();
52 parentMenu.setId("parentCombo");
53 childComboBox.setParentComboBox("parentCombo");
54 childComboBox.setParent(parentMenu);
55 MethodBinding mb = facesContext.getApplication().createMethodBinding("#{someBean.getItems}", null);
56 childComboBox.setAjaxSelectItemsMethod(mb);
57 }
58
59 public void tearDown() {
60 writer = null;
61 childComboBox = null;
62 }
63
64 public void testHtmlPropertyPassTru() throws Exception
65 {
66 HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
67
68 HtmlCheckAttributesUtil.checkRenderedAttributes(
69 childComboBox, facesContext, writer, attrs);
70 if(HtmlCheckAttributesUtil.hasFailedAttrRender(attrs))
71 {
72 fail(HtmlCheckAttributesUtil.constructErrorMessage(attrs, writer.getWriter().toString()));
73 }
74 }
75 }