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;
20
21 import javax.faces.el.ValueBinding;
22
23 import org.jmock.Mock;
24
25 import junit.framework.Test;
26 import junit.framework.TestSuite;
27 import junit.textui.TestRunner;
28
29 /**
30 * Unit tests for UIXInput
31 *
32 */
33 public class UIXInputTest extends UIComponentTestCase
34 {
35 /**
36 * @param testName the unit test name
37 */
38 public UIXInputTest(
39 String testName)
40 {
41 super(testName);
42 }
43
44 @Override
45 protected void setUp() throws Exception
46 {
47 super.setUp();
48 }
49
50 @Override
51 protected void tearDown() throws Exception
52 {
53 super.tearDown();
54 }
55
56 public static Test suite()
57 {
58 return new TestSuite(UIXInputTest.class);
59 }
60
61 /**
62 * Tests the initial values for the component attributes.
63 */
64 public void testInitialAttributeValues()
65 {
66 UIXInput input = new UIXInput();
67 assertFalse(input.isLocalValueSet());
68 assertNull(input.getSubmittedValue());
69 assertNull(input.getLocalValue());
70 assertNull(input.getValue());
71 }
72
73 /**
74 * Tests the transparency of the component attribute by comparing
75 * bean accessor and mutator methods with attribute map accessor
76 * and mutator methods.
77 */
78 public void testAttributeTransparency()
79 {
80 UIXInput input = new UIXInput();
81 doTestAttributeTransparency(input, "localValueSet", Boolean.TRUE, Boolean.FALSE);
82 doTestAttributeTransparency(input, "value", "foo", "fum");
83 doTestAttributeTransparency(input, "submittedValue", "bar", "baz");
84 }
85
86 /**
87 * Tests to make sure the setValue(), isLocalValueSet() contract is
88 * preserved.
89 */
90 public void testLocalValue()
91 {
92 UIXInput input = new UIXInput();
93 assertFalse(input.isLocalValueSet());
94 assertNull(input.getLocalValue());
95 assertNull(input.getValue());
96
97
98 Mock mockBinding = mock(ValueBinding.class);
99 ValueBinding binding = (ValueBinding) mockBinding.proxy();
100 mockBinding.expects(atLeastOnce()).method("getValue").will(returnValue(Boolean.TRUE));
101
102 input.setValueBinding("value", binding);
103 assertFalse(input.isLocalValueSet());
104 assertNull(input.getLocalValue());
105 assertEquals(Boolean.TRUE, input.getValue());
106
107
108 input.setValue("foo");
109 assertTrue(input.isLocalValueSet());
110 assertEquals("foo", input.getLocalValue());
111 assertEquals("foo", input.getValue());
112 }
113
114 public static void main(String[] args)
115 {
116 TestRunner.run(UIXInputTest.class);
117 }
118
119 }