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 TextareaTagTest extends JspTagTestCase {
11  
12  	TextareaTag tag;
13  	
14  	@Override
15  	protected void setUp() throws Exception {
16  		super.setUp();
17  		tag = new TextareaTag();
18  		setupSimpleTag(tag);
19  		context.setAttribute("fieldErrors", new HashMap<String, String>(), PageContext.REQUEST_SCOPE);
20  		jspBody.setBody("Dummy Body Text");
21  	}
22  
23  	public void testDoTag1() throws Exception {
24  		tag.setDynamicAttribute(null, "name", "content");
25  		tag.setDynamicAttribute(null, "value", "value1");
26  		tag.setDynamicAttribute(null, "id", "content");
27  		tag.doTag();
28  		Element element = getResultAsElementFromContext();
29  		String message = "フォームオブジェクトが空でvalueが指定されている場合";
30  		assertEquals(message, "value1", element.getValue());
31  		assertEquals(message, 2, element.getAttributes().size());
32  		assertEquals(message, "content", element.getAttributeValue("id"));
33  		assertEquals(message, "content", element.getAttributeValue("name"));
34  	}
35  
36  	public void testDoTag2() throws Exception {
37  		FormDto form = new FormDto();
38  		form.setStringField("value1");
39  		context.setAttribute("__form", form, PageContext.REQUEST_SCOPE);
40  		tag.setDynamicAttribute(null, "name", "stringField");
41  		tag.doTag();
42  		Element element = getResultAsElementFromContext();
43  		String message = "フォームオブジェクトとname指定の場合";
44  		assertEquals(message, "value1", element.getValue());
45  		assertEquals(message, 1, element.getAttributes().size());
46  		assertEquals(message, "stringField", element.getAttributeValue("name"));
47  	}
48  
49  	public void testDoTag3() throws Exception {
50  		FormDto form = new FormDto();
51  		form.setStringField("value1");
52  		tag.setDynamicAttribute(null, "name", "stringField");
53  		tag.doTag();
54  		Element element = getResultAsElementFromContext();
55  		String message = "フォームオブジェクトが空でとnameが指定されている場合";
56  		assertTrue(message, StringUtil.isEmpty(element.getValue()));
57  		assertEquals(message, 1, element.getAttributes().size());
58  		assertEquals(message, "stringField", element.getAttributeValue("name"));
59  	}
60  
61  }