1 package org.seasar.cubby.tags;
2
3 import java.util.HashMap;
4
5 import javax.servlet.jsp.PageContext;
6
7 import org.jdom.Element;
8 import org.seasar.framework.util.StringUtil;
9
10 public class InputTagTest extends JspTagTestCase {
11
12 InputTag tag;
13
14 @Override
15 protected void setUp() throws Exception {
16 super.setUp();
17 tag = new InputTag();
18 setupSimpleTag(tag);
19 context.setAttribute("fieldErrors", new HashMap<String, String>(), PageContext.REQUEST_SCOPE);
20 }
21
22 public void testDoTagCheckbox1() throws Exception {
23 tag.setDynamicAttribute(null, "name", "stringField");
24 tag.setDynamicAttribute(null, "value", "value1");
25 tag.setDynamicAttribute(null, "checkedValue", "value1");
26 tag.setType("checkbox");
27 tag.doTag();
28
29 Element element = getResultAsElementFromContext();
30 String message = "valueが指定";
31 assertTrue(message, StringUtil.isEmpty(element.getValue()));
32 assertEquals(message, 4, element.getAttributes().size());
33 assertEquals(message, "checkbox", element.getAttributeValue("type"));
34 assertEquals(message, "value1", element.getAttributeValue("value"));
35 assertEquals(message, "stringField", element.getAttributeValue("name"));
36 assertEquals(message, "true", element.getAttributeValue("checked"));
37
38
39 }
40
41 public void testDoTagCheckbox2() throws Exception {
42 tag.setDynamicAttribute(null, "name", "stringField");
43 tag.setDynamicAttribute(null, "value", "value1");
44 tag.setDynamicAttribute(null, "checkedValue", "value2");
45 tag.setType("checkbox");
46 tag.doTag();
47
48 Element element = getResultAsElementFromContext();
49 String message = "valueが指定";
50 assertTrue(message, StringUtil.isEmpty(element.getValue()));
51 assertEquals(message, 3, element.getAttributes().size());
52 assertEquals(message, "checkbox", element.getAttributeValue("type"));
53 assertEquals(message, "value1", element.getAttributeValue("value"));
54 assertEquals(message, "stringField", element.getAttributeValue("name"));
55
56
57 }
58
59 public void testDoTagCheckbox3() throws Exception {
60 FormDto form = new FormDto();
61 form.setStringField("value1");
62 context.setAttribute("__form", form, PageContext.REQUEST_SCOPE);
63 tag.setDynamicAttribute(null, "name", "stringField");
64 tag.setDynamicAttribute(null, "value", "value1");
65 tag.setType("checkbox");
66 tag.doTag();
67
68 Element element = getResultAsElementFromContext();
69 String message = "valueが指定";
70 assertTrue(message, StringUtil.isEmpty(element.getValue()));
71 assertEquals(message, 4, element.getAttributes().size());
72 assertEquals(message, "checkbox", element.getAttributeValue("type"));
73 assertEquals(message, "value1", element.getAttributeValue("value"));
74 assertEquals(message, "stringField", element.getAttributeValue("name"));
75 assertEquals(message, "true", element.getAttributeValue("checked"));
76
77
78 }
79
80 public void testDoTagCheckbox4() throws Exception {
81 FormDto form = new FormDto();
82 form.setStringField("value2");
83 context.setAttribute("__form", form, PageContext.REQUEST_SCOPE);
84 tag.setDynamicAttribute(null, "name", "stringField");
85 tag.setDynamicAttribute(null, "value", "value1");
86 tag.setType("checkbox");
87 tag.doTag();
88
89 Element element = getResultAsElementFromContext();
90 String message = "valueが指定";
91 assertTrue(message, StringUtil.isEmpty(element.getValue()));
92 assertEquals(message, 3, element.getAttributes().size());
93 assertEquals(message, "checkbox", element.getAttributeValue("type"));
94 assertEquals(message, "value1", element.getAttributeValue("value"));
95 assertEquals(message, "stringField", element.getAttributeValue("name"));
96
97
98 }
99
100 public void testDoTagText1() throws Exception {
101 tag.setDynamicAttribute(null, "name", "stringField");
102 tag.setDynamicAttribute(null, "value", "value1");
103 tag.setType("text");
104 tag.doTag();
105
106 Element element = getResultAsElementFromContext();
107 String message = "valueが指定";
108 assertTrue(message, StringUtil.isEmpty(element.getValue()));
109 assertEquals(message, 3, element.getAttributes().size());
110 assertEquals(message, "text", element.getAttributeValue("type"));
111 assertEquals(message, "value1", element.getAttributeValue("value"));
112 assertEquals(message, "stringField", element.getAttributeValue("name"));
113
114
115 }
116
117 public void testDoTagText2() throws Exception {
118 FormDto form = new FormDto();
119 form.setStringField("value1");
120 context.setAttribute("__form", form, PageContext.REQUEST_SCOPE);
121 tag.setDynamicAttribute(null, "name", "stringField");
122 tag.setDynamicAttribute(null, "value", "value1");
123 tag.setType("text");
124 tag.doTag();
125
126 Element element = getResultAsElementFromContext();
127 String message = "valueが指定";
128 assertTrue(message, StringUtil.isEmpty(element.getValue()));
129 assertEquals(message, 3, element.getAttributes().size());
130 assertEquals(message, "text", element.getAttributeValue("type"));
131 assertEquals(message, "value1", element.getAttributeValue("value"));
132 assertEquals(message, "stringField", element.getAttributeValue("name"));
133
134
135 }
136 }