1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.trinidad.component.core;
20
21 import java.io.IOException;
22
23 import javax.faces.component.UIComponent;
24 import javax.faces.context.FacesContext;
25
26 import junit.framework.Test;
27 import junit.framework.TestSuite;
28
29 import org.apache.myfaces.trinidad.component.UIComponentTestCase;
30
31
32
33
34
35 public class CoreFormTest extends UIComponentTestCase
36 {
37
38
39
40
41
42 public CoreFormTest(
43 String testName)
44 {
45 super(testName);
46 }
47
48 @Override
49 protected void setUp() throws Exception
50 {
51 super.setUp();
52 }
53
54 @Override
55 protected void tearDown() throws Exception
56 {
57 super.tearDown();
58 }
59
60 public static Test suite()
61 {
62 return new TestSuite(CoreFormTest.class);
63 }
64
65
66
67
68 public void testInitialAttributeValues()
69 {
70 CoreForm form = new CoreForm();
71 assertEquals(false, form.isUsesUpload());
72 assertEquals(false, form.isTransient());
73 assertEquals(false, form.isSubmitted());
74 assertEquals(true, form.isRendered());
75 }
76
77
78
79
80
81
82 public void testTypeKeyInstances()
83 {
84 CoreForm form = new CoreForm();
85 assertSame(form.getFacesBean().getType(),
86 CoreForm.TYPE);
87 assertSame(form.getFacesBean().getType().findKey("usesUpload"),
88 CoreForm.USES_UPLOAD_KEY);
89 }
90
91
92
93
94
95
96 public void testAttributeTransparency()
97 {
98 CoreForm component = new CoreForm();
99
100 doTestAttributeTransparency(component, "usesUpload",
101 Boolean.TRUE, Boolean.FALSE);
102
103 }
104
105
106
107
108 public void testApplyRequestValues()
109 {
110 TestForm testForm = new TestForm(true);
111 doTestApplyRequestValues(testForm);
112
113 testForm = new TestForm(true);
114 testForm.setRendered(false);
115 doTestApplyRequestValues(testForm);
116
117 testForm = new TestForm(false);
118 doTestApplyRequestValues(testForm);
119
120 testForm = new TestForm(false);
121 testForm.setRendered(false);
122 doTestApplyRequestValues(testForm);
123 }
124
125
126
127
128 public void testProcessValidations()
129 {
130 CoreForm form;
131 form = new CoreForm();
132 form.setSubmitted(false);
133 doTestProcessValidations(form);
134
135 form = new CoreForm();
136 form.setSubmitted(true);
137 doTestProcessValidations(form);
138 }
139
140
141
142
143 public void testUpdateModelValues()
144 {
145 CoreForm form;
146 form = new CoreForm();
147 form.setSubmitted(false);
148 doTestUpdateModelValues(form);
149
150 form = new CoreForm();
151 form.setSubmitted(true);
152 doTestUpdateModelValues(form);
153 }
154
155
156
157
158
159 public void testInvokeApplication()
160 {
161 CoreForm component = new CoreForm();
162
163 doTestInvokeApplication(component, null);
164 }
165
166
167
168
169
170
171 public void testRenderResponse() throws IOException
172 {
173 doTestRenderResponse(new CoreForm());
174 }
175
176
177
178 static private class TestForm extends CoreForm
179 {
180 public TestForm(boolean willBeSubmitted)
181 {
182 _willBeSubmitted = willBeSubmitted;
183 }
184
185 public boolean getWillBeSubmitted()
186 {
187 return _willBeSubmitted;
188 }
189
190 @Override
191 public void decode(FacesContext context)
192 {
193 super.decode(context);
194 setSubmitted(getWillBeSubmitted());
195 }
196
197 private final boolean _willBeSubmitted;
198 }
199
200 @Override
201 protected boolean willChildrenBeProcessed(UIComponent component)
202 {
203 if (!component.isRendered())
204 return false;
205
206 if (component instanceof TestForm)
207 return ((TestForm) component).getWillBeSubmitted();
208 else
209 return ((CoreForm) component).isSubmitted();
210 }
211 }
212