1 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 name ) { 46 super( name ); 47 } 48 49 protected void setUp() { 50 try { 52 } 53 catch ( Exception 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 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 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 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 e ) { 138 e.printStackTrace(); 139 fail(); 140 } 141 } 142 143 public void endPanelDisplay( WebResponse response ) 144 { 145 String 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 e ) { 165 e.printStackTrace(); 166 fail(); 167 } 168 } 169 170 public void endPanelDisplayMissingPanel( WebResponse response ) 171 { 172 String 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 e ) { 223 e.printStackTrace(); 224 fail(); 225 } 226 } 227 228 public void endPanelEdit( WebResponse response ) 229 { 230 String 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 e ) { 265 e.printStackTrace(); 266 fail(); 267 } 268 } 269 270 public void endPanelPreview( WebResponse response ) 271 { 272 String 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 e ) { 313 e.printStackTrace(); 314 fail(); 315 } 316 } 317 318 public void endPanelRichEdit( WebResponse response ) 319 { 320 String 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 |