KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inversoft > verge > mvc > view > jsp > repository > test > RepositoryTagTest


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.repository.test;
8
9
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11 import javax.servlet.jsp.JspException JavaDoc;
12 import javax.servlet.jsp.tagext.TagData JavaDoc;
13 import javax.servlet.jsp.tagext.VariableInfo JavaDoc;
14
15 import com.inversoft.junit.JspTestCase;
16 import com.inversoft.verge.mvc.model.ModelResolution;
17 import com.inversoft.verge.mvc.model.repository.RepositoryMetaData;
18 import com.inversoft.verge.mvc.view.jsp.model.ModelResolutionRegistry;
19 import com.inversoft.verge.mvc.view.jsp.repository.RepositoryItemTag;
20 import com.inversoft.verge.mvc.view.jsp.repository.RepositoryItemTei;
21 import com.inversoft.verge.repository.Repository;
22 import com.inversoft.verge.repository.test.RepositoryTest;
23
24
25 /**
26  * <p>
27  * This class has the tests for the repository tag in the
28  * repository tag library.
29  * </p>
30  *
31  * @author Brian Pontarelli
32  * @since 2.0
33  * @version 2.0
34  */

35 public class RepositoryTagTest extends JspTestCase {
36
37     /**
38      * Constructor for RepositoryTagTest.
39      * @param name
40      */

41     public RepositoryTagTest(String JavaDoc name) {
42         super(name);
43         setLocal(true);
44     }
45
46
47     /**
48      * Tests that the repository tag is correctly finding the repository items
49      */

50     public void testFind() {
51         RepositoryItemTag tag = new RepositoryItemTag();
52         RepositoryTest testCase = new RepositoryTest("testInitialization");
53
54         testCase.setContext(context);
55         testCase.testInitialization();
56
57         try {
58             tag.setPageContext(pageContext);
59             tag.setItem("item1");
60             tag.setVar("test");
61             tag.doStartTag();
62
63             assertNotNull("Should have put the class in the pageContext",
64                 pageContext.getAttribute("test"));
65             assertEquals("Should have put the class in the pageContext",
66                 pageContext.getAttribute("test"),
67                 Repository.getInstance().lookupItem(
68                     (HttpServletRequest JavaDoc) pageContext.getRequest(), "item1"));
69         } catch (JspException JavaDoc e) {
70             fail(e.toString());
71         }
72     }
73
74     /**
75      * Tests that the repository tag is correctly storing the meta data
76      */

77     public void testMetaDataStore() {
78         RepositoryItemTag tag = new RepositoryItemTag();
79         RepositoryTest testCase = new RepositoryTest("testInitialization");
80
81         testCase.setContext(context);
82         testCase.testInitialization();
83
84         try {
85             tag.setPageContext(pageContext);
86             tag.setItem("item1");
87             tag.setVar("test");
88             tag.doStartTag();
89
90             ModelResolution mr = ModelResolutionRegistry.lookup("test", pageContext);
91             RepositoryMetaData md = (RepositoryMetaData) mr.getMetaData();
92             assertNotNull("Should have stored MetaData", md);
93             assertEquals("Should have id of item1", md.getID(), "item1");
94         } catch (JspException JavaDoc e) {
95             fail(e.toString());
96         }
97     }
98
99     /**
100      * Tests that the repository tag extra info works as expected
101      */

102     public void testTEI() {
103         RepositoryItemTei tei = new RepositoryItemTei();
104         Object JavaDoc [][] params = {{"var", "testVar"}};
105
106         TagData JavaDoc data = new TagData JavaDoc(params);
107         VariableInfo JavaDoc [] variables = tei.getVariableInfo(data);
108
109         assertNotNull("Should have variable infos", variables);
110         assertTrue("Should have one variable info", variables.length == 1);
111         assertTrue("variable info should be Object",
112             variables[0].getClassName().equals("java.lang.Object"));
113         assertTrue("variable info should be at_begin scoped",
114             variables[0].getScope() == VariableInfo.AT_BEGIN);
115         assertTrue("variable info should be declared", variables[0].getDeclare());
116         assertTrue("variable info should testVar",
117             variables[0].getVarName().equals("testVar"));
118     }
119 }
120
Popular Tags