KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > methodhead > shim > PanelTagTest


1 /*
2  * Copyright (C) 2006 Methodhead Software LLC. All rights reserved.
3  *
4  * This file is part of TransferCM.
5  *
6  * TransferCM is free software; you can redistribute it and/or modify it under the
7  * terms of the GNU General Public License as published by the Free Software
8  * Foundation; either version 2 of the License, or (at your option) any later
9  * version.
10  *
11  * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14  * details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
18  * Fifth Floor, Boston, MA 02110-1301 USA
19  */

20
21 package com.methodhead.shim;
22
23 import java.util.*;
24 import java.sql.*;
25 import junit.framework.*;
26 import org.apache.log4j.*;
27 import com.methodhead.persistable.*;
28 import com.methodhead.test.*;
29 import com.methodhead.sitecontext.*;
30 import org.apache.cactus.*;
31 import javax.servlet.jsp.tagext.*;
32 import javax.servlet.jsp.*;
33
34 public class PanelTagTest extends JspTestCase {
35
36   Panel panel = null;
37   Page page = null;
38   PanelTag tag = null;
39
40   static {
41     TestUtils.initLogger();
42     TestUtils.initDb();
43   }
44
45   public PanelTagTest( String JavaDoc name ) {
46     super( name );
47   }
48
49   protected void setUp() {
50     //setLogLevel( Level.DEBUG );
51
try {
52     }
53     catch ( Exception JavaDoc e ) {
54       fail( e.getMessage() );
55     }
56   }
57
58   protected void tearDown() {
59   }
60
61   public void testPanelDefine() {
62     try {
63       PanelTag tag = null;
64       Map map = null;
65       PanelConfig panelConfig = null;
66
67       //
68
// panel tag with only name specified
69
//
70
request.setAttribute( ShimGlobals.PANELMAP_KEY, new HashMap() );
71       tag = new PanelTag();
72       tag.setPageContext( pageContext );
73       tag.setName( "body" );
74
75       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
76       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
77
78       map = ( Map )request.getAttribute( ShimGlobals.PANELMAP_KEY );
79
80       assertNotNull( map );
81       assertEquals( 1, map.keySet().size() );
82
83       panelConfig = ( PanelConfig )map.get( "body" );
84
85       assertNotNull( panelConfig );
86       assertEquals( "body", panelConfig.getName() );
87       assertEquals( ShimGlobals.DEFAULT_MODULE, panelConfig.getDefaultModule() );
88
89       //
90
// another panel (in the same request) with default module specified
91
//
92
tag = new PanelTag();
93       tag.setPageContext( pageContext );
94       tag.setName( "header" );
95       tag.setDefaultModule( "com.methodhead.shim.SomeModule" );
96
97       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
98       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
99
100       map = ( Map )request.getAttribute( ShimGlobals.PANELMAP_KEY );
101
102       assertNotNull( map );
103       assertEquals( 2, map.keySet().size() );
104
105       panelConfig = ( PanelConfig )map.get( "header" );
106
107       assertNotNull( panelConfig );
108       assertEquals( "header", panelConfig.getName() );
109       assertEquals( "com.methodhead.shim.SomeModule", panelConfig.getDefaultModule() );
110     }
111     catch ( Exception JavaDoc e ) {
112       e.printStackTrace();
113       fail();
114     }
115   }
116
117   public void testPanelDisplay() {
118     try {
119       Panel panel = null;
120       Page page = null;
121       PanelTag tag = null;
122       
123       panel = new Panel();
124       panel.setName( "body" );
125       panel.setModuleClass( "com.methodhead.shim.MockModule" );
126       panel.setModule( new MockModule() );
127       page = new Page();
128       page.addPanel( panel );
129       request.setAttribute( ShimGlobals.PAGE_KEY, page );
130       tag = new PanelTag();
131       tag.setPageContext( pageContext );
132       tag.setName( "body" );
133
134       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
135       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
136     }
137     catch ( Exception JavaDoc e ) {
138       e.printStackTrace();
139       fail();
140     }
141   }
142
143   public void endPanelDisplay( WebResponse response )
144   {
145     String JavaDoc output = response.getText();
146     assertEquals("Hello from MockModule.display().\n", output );
147   }
148
149   public void testPanelDisplayMissingPanel() {
150     try {
151       Panel panel = null;
152       Page page = null;
153       PanelTag tag = null;
154       
155       page = new Page();
156       request.setAttribute( ShimGlobals.PAGE_KEY, page );
157       tag = new PanelTag();
158       tag.setPageContext( pageContext );
159       tag.setName( "body" );
160
161       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
162       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
163     }
164     catch ( Exception JavaDoc e ) {
165       e.printStackTrace();
166       fail();
167     }
168   }
169
170   public void endPanelDisplayMissingPanel( WebResponse response )
171   {
172     String JavaDoc output = response.getText();
173     assertEquals("This panel is not set; please contact the webmaster.\n", output );
174   }
175
176   public void testPanelEdit() {
177     try {
178       Panel panel = null;
179       Page page = null;
180       PanelTag tag = null;
181       
182       panel = new Panel();
183       panel.setName( "body" );
184       panel.setModuleClass( "com.methodhead.shim.MockModule" );
185       panel.setModule( new MockModule() );
186       page = new Page();
187       page.setInt( "id", 666 );
188       page.addPanel( panel );
189       request.setAttribute( ShimGlobals.PAGE_KEY, page );
190       session.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_EDIT );
191       SiteContext.setContext( request, SiteContext.getDefaultContext() );
192       tag = new PanelTag();
193       tag.setPageContext( pageContext );
194       tag.setName( "body" );
195       MockModule.setConfigurable( false );
196       MockModule.setEditable( false );
197
198       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
199       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
200
201       MockModule.setConfigurable( true );
202
203       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
204       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
205
206       MockModule.setConfigurable( false );
207       MockModule.setEditable( true );
208
209       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
210       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
211
212       MockModule.setConfigurable( true );
213
214       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
215       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
216
217       tag.setName( "missingpanel" );
218
219       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
220       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
221     }
222     catch ( Exception JavaDoc e ) {
223       e.printStackTrace();
224       fail();
225     }
226   }
227
228   public void endPanelEdit( WebResponse response )
229   {
230     String JavaDoc output = response.getText();
231
232     assertEquals(
233       "Hello from MockModule.display().\n" +
234       "<a HREF=\"configurePanelForm.do?pageid=666&panel=body\"><img title=\"Select Module\" border=0 align=\"middle\" SRC=\"approot/images/panel_module.gif\"></a> <a HREF=\"configureModule.do?pageid=666&panel=body\"><img title=\"Configure\" border=0 align=\"middle\" SRC=\"approot/images/panel_configure.gif\"></a>\nHello from MockModule.display().\n\n" +
235       "<a HREF=\"configurePanelForm.do?pageid=666&panel=body\"><img title=\"Panel\" border=0 align=\"middle\" SRC=\"approot/images/panel_module.gif\"></a> <a HREF=\"editPanel.do?pageid=666&panel=body\"><img border=0 align=\"middle\" SRC=\"approot/images/panel_edit.gif\"></a>\nHello from MockModule.display().\n\n" +
236       "<a HREF=\"configurePanelForm.do?pageid=666&panel=body\"><img title=\"Select Module\" border=0 align=\"middle\" SRC=\"approot/images/panel_module.gif\"></a> <a HREF=\"configureModule.do?pageid=666&panel=body\"><img title=\"Configure\" border=0 align=\"middle\" SRC=\"approot/images/panel_configure.gif\"></a> <a HREF=\"editPanel.do?pageid=666&panel=body\"><img title=\"Edit\" border=0 align=\"middle\" SRC=\"approot/images/panel_edit.gif\"></a>\nHello from MockModule.display().\n\n" +
237       "<a HREF=\"configurePanelForm.do?pageid=666&panel=missingpanel\"><img title=\"Select Module\" border=0 align=\"middle\" SRC=\"approot/images/panel_module.gif\"></a>\nThis panel is not set; please contact the webmaster.\n\n",
238       output );
239   }
240
241   public void testPanelPreview() {
242     try {
243       Panel panel = null;
244       Page page = null;
245       PanelTag tag = null;
246       
247       panel = new Panel();
248       panel.setName( "body" );
249       panel.setModuleClass( "com.methodhead.shim.MockModule" );
250       panel.setModule( new MockModule() );
251       page = new Page();
252       page.setInt( "id", 666 );
253       page.addPanel( panel );
254       request.setAttribute( ShimGlobals.PAGE_KEY, page );
255       request.setAttribute( ShimGlobals.PREVIEW_KEY, "true" );
256       session.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_EDIT );
257       tag = new PanelTag();
258       tag.setPageContext( pageContext );
259       tag.setName( "body" );
260
261       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
262       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
263     }
264     catch ( Exception JavaDoc e ) {
265       e.printStackTrace();
266       fail();
267     }
268   }
269
270   public void endPanelPreview( WebResponse response )
271   {
272     String JavaDoc output = response.getText();
273     assertEquals("Hello from MockModule.display().\n", output );
274   }
275
276   public void testPanelRichEdit() {
277     try {
278       Panel panel = null;
279       Page page = null;
280       PanelTag tag = null;
281       
282       page = new Page();
283       page.setInt( "id", 666 );
284       panel = new Panel();
285       panel.setName( "body" );
286       panel.setModuleClass( "com.methodhead.shim.MockModule" );
287       panel.setModule( new MockModule() );
288       page.addPanel( panel );
289       panel = new Panel();
290       panel.setName( "footer" );
291       panel.setModuleClass( "com.methodhead.shim.MockModule" );
292       panel.setModule( new MockModule() );
293       page.addPanel( panel );
294       request.setAttribute( ShimGlobals.PAGE_KEY, page );
295       request.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_RICHEDIT );
296       session.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_EDIT );
297       request.setAttribute( ShimGlobals.EDITPANEL_KEY, "body" );
298       tag = new PanelTag();
299       tag.setPageContext( pageContext );
300       tag.setName( "body" );
301
302       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
303       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
304
305       tag = new PanelTag();
306       tag.setPageContext( pageContext );
307       tag.setName( "footer" );
308
309       assertEquals( Tag.SKIP_BODY, tag.doStartTag() );
310       assertEquals( Tag.EVAL_PAGE, tag.doEndTag() );
311     }
312     catch ( Exception JavaDoc e ) {
313       e.printStackTrace();
314       fail();
315     }
316   }
317
318   public void endPanelRichEdit( WebResponse response )
319   {
320     String JavaDoc output = response.getText();
321     assertEquals(
322       "<div id=\"editableDiv\">\nHello from MockModule.display().\n</div>\n" +
323       "Hello from MockModule.display().\n",
324       output );
325   }
326 }
327
Popular Tags