KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inversoft > verge > mvc > view > jsp > model > test > UseBeanTagTest


1 /*
2  * Copyright (c) 2003, Inversoft
3  *
4  * This software is distribuable under the GNU Lesser General Public License.
5  * For more information visit gnu.org.
6  */

7 package com.inversoft.verge.mvc.view.jsp.model.test;
8
9
10 import javax.servlet.jsp.JspException JavaDoc;
11 import javax.servlet.jsp.tagext.Tag JavaDoc;
12
13 import com.inversoft.junit.JspTestCase;
14 import com.inversoft.verge.mvc.model.web.WebMetaData;
15 import com.inversoft.verge.mvc.view.jsp.model.ModelResolutionRegistry;
16 import com.inversoft.verge.mvc.view.jsp.model.UseBeanTag;
17
18
19 /**
20  * <p>
21  * Test cases for the UseBean tag
22  * </p>
23  */

24 public class UseBeanTagTest extends JspTestCase {
25
26     /**
27      * Constructors a new <code>UseBeanTag</code>
28      *
29      * @param name The name of the test being run
30      */

31     public UseBeanTagTest(String JavaDoc name) {
32         super(name);
33         setLocal(true);
34     }
35
36
37     /**
38      * Tests the request scope use bean
39      */

40     public void testRequest() {
41         UseBeanTag tag = new UseBeanTag();
42         tag.setPageContext(pageContext);
43         tag.setVar("bean");
44         tag.setClassName("com.inversoft.verge.mvc.view.jsp.model.test.Bean");
45         tag.setScope("request");
46
47         try {
48             assertEquals("Should be EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
49         } catch (JspException JavaDoc jspe) {
50             fail(jspe.toString());
51         }
52
53         assertNotNull("Should be in pageContext", pageContext.getAttribute("bean"));
54         assertNotNull("Should be in request", pageContext.getRequest().getAttribute("bean"));
55         assertNotNull("Should have created meta data",
56             ModelResolutionRegistry.lookup("bean", pageContext));
57         assertTrue("Should have created web meta data",
58             ModelResolutionRegistry.lookup("bean", pageContext).getMetaData() instanceof WebMetaData);
59     }
60
61     /**
62      * Tests the session scope use bean
63      */

64     public void testSession() {
65         UseBeanTag tag = new UseBeanTag();
66         tag.setPageContext(pageContext);
67         tag.setVar("bean");
68         tag.setClassName("com.inversoft.verge.mvc.view.jsp.model.test.Bean");
69         tag.setScope("session");
70
71         try {
72             assertEquals("Should be EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
73         } catch (JspException JavaDoc jspe) {
74             fail(jspe.toString());
75         }
76
77         assertNotNull("Should be in pageContext", pageContext.getAttribute("bean"));
78         assertNotNull("Should be in session", pageContext.getSession().getAttribute("bean"));
79         assertNotNull("Should have created meta data",
80             ModelResolutionRegistry.lookup("bean", pageContext));
81         assertTrue("Should have created web meta data",
82             ModelResolutionRegistry.lookup("bean", pageContext).getMetaData() instanceof WebMetaData);
83     }
84
85     /**
86      * Tests the application scope use bean
87      */

88     public void testApplication() {
89         UseBeanTag tag = new UseBeanTag();
90         tag.setPageContext(pageContext);
91         tag.setVar("bean");
92         tag.setClassName("com.inversoft.verge.mvc.view.jsp.model.test.Bean");
93         tag.setScope("application");
94
95         try {
96             assertEquals("Should be EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
97         } catch (JspException JavaDoc jspe) {
98             fail(jspe.toString());
99         }
100
101         assertNotNull("Should be in pageContext", pageContext.getAttribute("bean"));
102         assertNotNull("Should be in context", pageContext.getServletContext().getAttribute("bean"));
103         assertNotNull("Should have created meta data",
104             ModelResolutionRegistry.lookup("bean", pageContext));
105         assertTrue("Should have created web meta data",
106             ModelResolutionRegistry.lookup("bean", pageContext).getMetaData() instanceof WebMetaData);
107     }
108
109     /**
110      * Tests the failure cases
111      */

112     public void testFailures() {
113         UseBeanTag tag = new UseBeanTag();
114         tag.setPageContext(pageContext);
115         tag.setVar("bean");
116         tag.setClassName("com.inversoft.verge.mvc.view.jsp.model.test.Bean");
117         tag.setScope("badScope");
118
119         try {
120             assertEquals("Should be EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
121             fail("Should have failed due to invalid scope");
122         } catch (JspException JavaDoc jspe) {
123             System.out.println(jspe.toString());
124         }
125
126         tag.setVar("bean");
127         tag.setClassName("com.inversoft.verge.mvc.view.jsp.model.test.BadClass");
128         tag.setScope("request");
129
130         try {
131             assertEquals("Should be EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
132             fail("Should have failed due to invalid class");
133         } catch (JspException JavaDoc jspe) {
134             System.out.println(jspe.toString());
135         }
136     }
137 }
Popular Tags