KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.io.*;
26 import junit.framework.*;
27 import org.apache.log4j.*;
28 import org.apache.struts.action.*;
29 import com.methodhead.persistable.*;
30 import com.methodhead.test.*;
31 import com.methodhead.sitecontext.*;
32 import com.methodhead.util.*;
33 import com.methodhead.*;
34 import org.apache.cactus.*;
35
36 public class NavModuleTest extends JspTestCase {
37
38   private NavModule navModule = null;
39   private Panel panel = null;
40   private List list = null;
41   private DynaActionForm dynaActionForm = null;
42   private ActionForward forward = null;
43   private Link link = null;
44
45   private SiteMap siteMap1_ = null;
46
47   private SiteContext siteContext1_ = null;
48
49   private Page page1_ = null;
50   private Page page2_ = null;
51   private Page page3_ = null;
52   private Page page4_ = null;
53   private Page page5_ = null;
54   private Page page6_ = null;
55
56   private Link link1_ = null;
57   private Link link2_ = null;
58   private Link link3_ = null;
59   private Link link4_ = null;
60   private Link link5_ = null;
61
62   static {
63     TestUtils.initLogger();
64     TestUtils.initDb();
65   }
66
67   public NavModuleTest( String JavaDoc name ) {
68     super( name );
69   }
70
71   public void setUp() {
72     //setLogLevel( Level.DEBUG );
73
try {
74       TestData.createWebappFiles( ServletUtils.getRealFile( request, "" ) );
75
76       ConnectionSingleton.runBatchUpdate( new FileReader( "webapp/WEB-INF/db/transfer-reset.sql" ) );
77
78       panel = new Panel();
79       panel.setModuleClass( "com.methodhead.shim.NavModule" );
80       panel.setName( "body" );
81
82       siteContext1_ = new SiteContext();
83       siteContext1_.saveNew();
84
85       page1_ = new Page();
86       page1_.setSiteContext( SiteContext.getDefaultContext() );
87       page1_.setString( "template", "template.jsp" );
88       page1_.setString( "title", "Page1" );
89       page1_.setString( "aliasname", "page1" );
90       page1_.addPanel( panel );
91       page1_.saveNew();
92
93       page2_ = new Page();
94       page2_.setSiteContext( SiteContext.getDefaultContext() );
95       page2_.setString( "template", "template.jsp" );
96       page2_.setString( "title", "Page2" );
97       page2_.setString( "aliasname", "page2" );
98       page2_.addPanel( panel );
99       page2_.saveNew();
100
101       page3_ = new Page();
102       page3_.setSiteContext( SiteContext.getDefaultContext() );
103       page3_.setString( "template", "template.jsp" );
104       page3_.setString( "title", "Page3" );
105       page3_.setString( "aliasname", "page3" );
106       page3_.addPanel( panel );
107       page3_.saveNew();
108
109       page4_ = new Page();
110       page4_.setSiteContext( SiteContext.getDefaultContext() );
111       page4_.setString( "template", "template.jsp" );
112       page4_.setString( "title", "Page4" );
113       page4_.setString( "aliasname", "page4" );
114       page4_.addPanel( panel );
115       page4_.saveNew();
116
117       page5_ = new Page();
118       page5_.setSiteContext( SiteContext.getDefaultContext() );
119       page5_.setString( "template", "template.jsp" );
120       page5_.setString( "title", "Page5" );
121       page5_.setString( "aliasname", "page5" );
122       page5_.addPanel( panel );
123       page5_.saveNew();
124
125       page6_ = new Page();
126       page6_.setSiteContext( SiteContext.getDefaultContext() );
127       page6_.setString( "template", "Template2.jsp" );
128       page6_.setString( "title", "Page6" );
129       page6_.setString( "aliasname", "page6" );
130       page6_.addPanel( panel );
131       page6_.saveNew();
132
133       // Link1
134
// Link2
135
// Link3
136
// Link4
137
// Link5
138
link1_ = new Link();
139       link1_.setTitle( "Page1" );
140       link1_.setAlias( "page1" );
141       link1_.setPageId( page1_.getInt( "id" ) );
142
143       link2_ = new Link();
144       link2_.setTitle( "Page2" );
145       link2_.setAlias( "page2" );
146       link2_.setPageId( page2_.getInt( "id" ) );
147
148       link3_ = new Link();
149       link3_.setTitle( "Page3" );
150       link3_.setAlias( "page3" );
151       link3_.setPageId( page3_.getInt( "id" ) );
152
153       link4_ = new Link();
154       link4_.setTitle( "Page4" );
155       link4_.setAlias( "page4" );
156       link4_.setPageId( page4_.getInt( "id" ) );
157
158       link5_ = new Link();
159       link5_.setTitle( "Page5" );
160       link5_.setAlias( "page5" );
161       link5_.setPageId( page5_.getInt( "id" ) );
162
163       link1_.add( link2_ );
164       link2_.add( link3_ );
165       link1_.add( link4_ );
166       link1_.add( link5_ );
167
168       siteMap1_ = new SiteMap();
169       siteMap1_.setSiteContext( SiteContext.getDefaultContext() );
170       siteMap1_.setRoot( link1_ );
171
172       ShimUtils.setSiteMap( request, siteMap1_ );
173       SiteContext.setContext( request, SiteContext.getDefaultContext() );
174       request.setAttribute( ShimGlobals.PAGE_KEY, page1_ );
175     }
176     catch ( Exception JavaDoc e ) {
177       fail( e.getMessage() );
178     }
179   }
180
181   public void tearDown() {
182   }
183
184   public void testInit() {
185     try {
186       navModule = new NavModule();
187       navModule.init( page1_, "body" );
188
189       assertEquals( SiteContext.getDefaultContext().getInt( "id" ), navModule.getInt( "sitecontext_id" ) );
190       assertEquals( "template.jsp", navModule.getString( "template" ) );
191       assertEquals( "body", navModule.getString( "panel" ) );
192     }
193     catch ( Exception JavaDoc e ) {
194       e.printStackTrace();
195       fail();
196     }
197   }
198
199   public void testLoad() {
200     try {
201       navModule = new NavModule();
202       navModule.init( page1_, "body" );
203
204       try {
205         navModule.load();
206         fail( "Exception not thrown." );
207       }
208       catch ( Exception JavaDoc e ) {
209         // success
210
}
211
212       navModule.saveNew();
213       navModule.load( "sitecontext_id=0 AND template='template.jsp' AND panel='body'" );
214
215       // shouldn't throw exception
216
}
217     catch ( Exception JavaDoc e ) {
218       e.printStackTrace();
219       fail();
220     }
221   }
222
223   public void testSave() {
224     try {
225       navModule = new NavModule();
226       navModule.init( page1_, "body" );
227       navModule.create();
228
229       navModule = new NavModule();
230       navModule.init( page1_, "body" );
231       navModule.load();
232       navModule.setString( "separator", " - " );
233       navModule.setInt( "startlev", 2 );
234       navModule.setInt( "contextlev", 2 );
235       navModule.setInt( "depthlev", 2 );
236       navModule.setInt( "toplev", 2 );
237       navModule.setString( "header", "header" );
238       navModule.setString( "link", "link" );
239       navModule.setString( "curlink", "curlink" );
240       navModule.setString( "footer", "footer" );
241       navModule.save();
242
243       navModule = new NavModule();
244       navModule.init( page1_, "body" );
245       navModule.load();
246
247       assertEquals( " - ", navModule.getString( "separator" ) );
248       assertEquals( 2, navModule.getInt( "startlev" ) );
249       assertEquals( 2, navModule.getInt( "contextlev" ) );
250       assertEquals( 2, navModule.getInt( "depthlev" ) );
251       assertEquals( 2, navModule.getInt( "toplev" ) );
252       assertEquals( "header", navModule.getString( "header" ) );
253       assertEquals( "link", navModule.getString( "link" ) );
254       assertEquals( "curlink", navModule.getString( "curlink" ) );
255       assertEquals( "footer", navModule.getString( "footer" ) );
256     }
257     catch ( Exception JavaDoc e ) {
258       e.printStackTrace();
259       fail();
260     }
261   }
262
263   public void testCreate() {
264     try {
265       navModule = new NavModule();
266       navModule.init( page1_, "body" );
267       navModule.create();
268       navModule = new NavModule();
269       navModule.load( "sitecontext_id=" + SiteContext.getDefaultContext().getInt( "id" ) + " AND panel='body'" );
270       list = navModule.loadAll( NavModule.dynaClass_, "sitecontext_id=" + SiteContext.getDefaultContext().getInt( "id" ) + " AND template='template.jsp' AND panel='body'", null );
271
272       assertEquals( 1, list.size() );
273
274       navModule = ( NavModule )list.get( 0 );
275
276       assertEquals( "template.jsp", navModule.getString( "template" ) );
277       assertEquals( NavModule.TYPE_TEXTSEPARATED, navModule.getString( "type" ) );
278       assertEquals( " | ", navModule.getString( "separator" ) );
279       assertEquals( "", navModule.getString( "jsp" ) );
280
281       //
282
// create for another page with the same template and verify the same
283
// navigation settings are used
284
//
285
navModule = new NavModule();
286       navModule.init( page2_, "body" );
287       navModule.create();
288       list = navModule.loadAll( NavModule.dynaClass_, "sitecontext_id=" + SiteContext.getDefaultContext().getInt( "id" ) + " AND template='template.jsp' AND panel='body'", null );
289
290       assertEquals( 1, list.size() );
291
292       navModule = ( NavModule )list.get( 0 );
293
294       assertEquals( "template.jsp", navModule.getString( "template" ) );
295       assertEquals( NavModule.TYPE_TEXTSEPARATED, navModule.getString( "type" ) );
296       assertEquals( " | ", navModule.getString( "separator" ) );
297       assertEquals( "", navModule.getString( "jsp" ) );
298
299       //
300
// create for another page with a different template that has a panel of
301
// the same name and verify that nav settings are set up
302
//
303
navModule = new NavModule();
304       navModule.init( page6_, "body" );
305       navModule.create();
306       list = navModule.loadAll( NavModule.dynaClass_, "sitecontext_id=" + SiteContext.getDefaultContext().getInt( "id" ) + " AND template='Template2.jsp' AND panel='body'", null );
307
308       assertEquals( 1, list.size() );
309
310       navModule = ( NavModule )list.get( 0 );
311
312       assertEquals( "Template2.jsp", navModule.getString( "template" ) );
313       assertEquals( NavModule.TYPE_TEXTSEPARATED, navModule.getString( "type" ) );
314       assertEquals( " | ", navModule.getString( "separator" ) );
315       assertEquals( "", navModule.getString( "jsp" ) );
316     }
317     catch ( Exception JavaDoc e ) {
318       e.printStackTrace();
319       fail();
320     }
321   }
322
323   public void testDisplayTextSeparated() {
324     try {
325       navModule = new NavModule();
326       navModule.init( page1_, "body" );
327       navModule.create();
328
329       navModule = new NavModule();
330       navModule.init( page1_, "body" );
331       navModule.display( request, response, out );
332     }
333     catch ( Exception JavaDoc e ) {
334       e.printStackTrace();
335       fail();
336     }
337   }
338
339   public void endDisplayTextSeparated( WebResponse response ) {
340     assertEquals( "<a HREF=\"page1.shtml\">Page1</a>&nbsp;|&nbsp;<a HREF=\"page2.shtml\">Page2</a>&nbsp;|&nbsp;<a HREF=\"page4.shtml\">Page4</a>&nbsp;|&nbsp;<a HREF=\"page5.shtml\">Page5</a>", response.getText() );
341   }
342
343
344   public void testDisplayTextSeparatedHiddenLink() {
345     try {
346       navModule = new NavModule();
347       navModule.init( page1_, "body" );
348       navModule.create();
349
350       //
351
// hide link4 for this test
352
//
353
link4_.setHidden( true );
354
355       navModule = new NavModule();
356       navModule.init( page1_, "body" );
357       navModule.display( request, response, out );
358
359       //
360
// hide the root link
361
//
362
link1_.setHidden( true );
363
364       navModule = new NavModule();
365       navModule.init( page1_, "body" );
366       navModule.display( request, response, out );
367     }
368     catch ( Exception JavaDoc e ) {
369       e.printStackTrace();
370       fail();
371     }
372   }
373
374   public void endDisplayTextSeparatedHiddenLink( WebResponse response ) {
375     assertEquals(
376       "<a HREF=\"page1.shtml\">Page1</a>&nbsp;|&nbsp;<a HREF=\"page2.shtml\">Page2</a>&nbsp;|&nbsp;<a HREF=\"page5.shtml\">Page5</a>" +
377       "<a HREF=\"page2.shtml\">Page2</a>&nbsp;|&nbsp;<a HREF=\"page5.shtml\">Page5</a>",
378       response.getText() );
379   }
380
381   public void testDisplayTextSeparatedHiddenLink2() {
382     try {
383       navModule = new NavModule();
384       navModule.init( page1_, "body" );
385       navModule.create();
386
387       //
388
// hide link2 for this test
389
//
390
link2_.setHidden( true );
391
392       navModule = new NavModule();
393       navModule.init( page1_, "body" );
394       navModule.display( request, response, out );
395     }
396     catch ( Exception JavaDoc e ) {
397       e.printStackTrace();
398       fail();
399     }
400   }
401
402   public void endDisplayTextSeparatedHiddenLink2( WebResponse response ) {
403     assertEquals(
404       "<a HREF=\"page1.shtml\">Page1</a>&nbsp;|&nbsp;<a HREF=\"page4.shtml\">Page4</a>&nbsp;|&nbsp;<a HREF=\"page5.shtml\">Page5</a>",
405       response.getText() );
406   }
407
408   public void testDisplayTextSeparatedWithHeader() {
409     try {
410       request.setAttribute( ShimGlobals.PAGE_KEY, page2_ );
411
412       navModule = new NavModule();
413       navModule.init( page1_, "body" );
414       navModule.create();
415       navModule.setString( "header", ">>" );
416       navModule.setString( "footer", "<<" );
417       navModule.setString( "link", "{title}/{url}" );
418       navModule.setString( "curlink", "({title}/{url})" );
419       navModule.setBoolean( "hideroot", true );
420       navModule.save();
421
422       navModule = new NavModule();
423       navModule.init( page1_, "body" );
424       navModule.display( request, response, out );
425     }
426     catch ( Exception JavaDoc e ) {
427       e.printStackTrace();
428       fail();
429     }
430   }
431
432   public void endDisplayTextSeparatedWithHeader( WebResponse response ) {
433     assertEquals( ">>(Page2/page2.shtml)&nbsp;|&nbsp;Page4/page4.shtml&nbsp;|&nbsp;Page5/page5.shtml<<", response.getText() );
434   }
435
436   public void testDisplayTextSeparatedSubLevel() {
437     try {
438       request.setAttribute( ShimGlobals.PAGE_KEY, page2_ );
439
440       navModule = new NavModule();
441       navModule.init( page1_, "body" );
442       navModule.create();
443       navModule.setString( "header", ">>" );
444       navModule.setString( "footer", "<<" );
445       navModule.setString( "link", "{title}/{url}" );
446       navModule.setString( "curlink", "({title}/{url})" );
447       navModule.setBoolean( "hideroot", false );
448       navModule.save();
449
450       //
451
// page 2 should be highlighted since page 3 is current and under it
452
//
453
request.setAttribute( ShimGlobals.PAGE_KEY, page3_ );
454
455       navModule = new NavModule();
456       navModule.init( page1_, "body" );
457       navModule.display( request, response, out );
458     }
459     catch ( Exception JavaDoc e ) {
460       e.printStackTrace();
461       fail();
462     }
463   }
464
465   public void endDisplayTextSeparatedSubLevel( WebResponse response ) {
466     assertEquals( ">>Page1/page1.shtml&nbsp;|&nbsp;(Page2/page2.shtml)&nbsp;|&nbsp;Page4/page4.shtml&nbsp;|&nbsp;Page5/page5.shtml<<", response.getText() );
467   }
468
469   public void testDisplayTextSeparatedEditMode() {
470     try {
471       session.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_EDIT );
472       request.setAttribute( ShimGlobals.PAGE_KEY, page2_ );
473
474       navModule = new NavModule();
475       navModule.init( page1_, "body" );
476       navModule.create();
477       navModule.setString( "header", ">>" );
478       navModule.setString( "footer", "<<" );
479       navModule.setString( "link", "{title}/{url}" );
480       navModule.setString( "curlink", "({title}/{url})" );
481       navModule.setBoolean( "hideroot", true );
482       navModule.save();
483
484       navModule = new NavModule();
485       navModule.init( page1_, "body" );
486       navModule.display( request, response, out );
487     }
488     catch ( Exception JavaDoc e ) {
489       e.printStackTrace();
490       fail();
491     }
492   }
493
494   public void endDisplayTextSeparatedEditMode( WebResponse response ) {
495     assertEquals( ">>(Page2/page2.shtml)&nbsp;|&nbsp;Page4/page4.shtml&nbsp;|&nbsp;Page5/page5.shtml<<", response.getText() );
496   }
497
498   public void testDisplayFolding() {
499     try {
500       navModule = new NavModule();
501       navModule.init( page1_, "body" );
502       navModule.create();
503
504       navModule = new NavModule();
505       navModule.init( page1_, "body" );
506       navModule.load();
507       navModule.setString( "type", NavModule.TYPE_FOLDING );
508       navModule.setString( "header", "<ul>\n" );
509       navModule.setString( "link", "<li class=\"lev{level}\"><a HREF=\"{url}\">{title}</a></li>\n" );
510       navModule.setString( "curlink", "<li class=\"lev{level}cur\"><a HREF=\"{url}\">{title}</a></li>\n" );
511       navModule.setString( "footer", "</ul>\n" );
512       navModule.save();
513
514       navModule = new NavModule();
515       navModule.init( page1_, "body" );
516       navModule.display( request, response, out );
517     }
518     catch ( Exception JavaDoc e ) {
519       e.printStackTrace();
520       fail();
521     }
522   }
523
524   public void endDisplayFolding( WebResponse response ) {
525     String JavaDoc html =
526       "<ul>\n" +
527       "<li class=\"lev1cur\"><a HREF=\"page1.shtml\">Page1</a></li>\n" +
528       "<li class=\"lev2\"><a HREF=\"page2.shtml\">Page2</a></li>\n" +
529       "<li class=\"lev2\"><a HREF=\"page4.shtml\">Page4</a></li>\n" +
530       "<li class=\"lev2\"><a HREF=\"page5.shtml\">Page5</a></li>\n" +
531       "</ul>\n\n";
532
533     assertEquals( html, response.getText() );
534   }
535
536   public void testDisplayFoldingWithPath() {
537     try {
538       //
539
// force the path on the site context (very flimsy)
540
//
541
page1_.getSiteContext().setString( "path", "path" );
542
543       navModule = new NavModule();
544       navModule.init( page1_, "body" );
545       navModule.create();
546
547       navModule = new NavModule();
548       navModule.init( page1_, "body" );
549       navModule.load();
550       navModule.setString( "type", NavModule.TYPE_FOLDING );
551       navModule.setString( "header", "<ul>\n" );
552       navModule.setString( "link", "<li class=\"lev{level}\"><a HREF=\"{url}\">{title}</a></li>\n" );
553       navModule.setString( "curlink", "<li class=\"lev{level}cur\"><a HREF=\"{url}\">{title}</a></li>\n" );
554       navModule.setString( "footer", "</ul>\n" );
555       navModule.save();
556
557       navModule = new NavModule();
558       navModule.init( page1_, "body" );
559       navModule.display( request, response, out );
560     }
561     catch ( Exception JavaDoc e ) {
562       e.printStackTrace();
563       fail();
564     }
565   }
566
567   public void endDisplayFoldingWithPath( WebResponse response ) {
568     String JavaDoc html =
569       "<ul>\n" +
570       "<li class=\"lev1cur\"><a HREF=\"page1.shtml\">Page1</a></li>\n" +
571       "<li class=\"lev2\"><a HREF=\"page2.shtml\">Page2</a></li>\n" +
572       "<li class=\"lev2\"><a HREF=\"page4.shtml\">Page4</a></li>\n" +
573       "<li class=\"lev2\"><a HREF=\"page5.shtml\">Page5</a></li>\n" +
574       "</ul>\n\n";
575
576     assertEquals( html, response.getText() );
577   }
578
579   public void testDisplayFoldingEditMode() {
580     try {
581       //
582
// force the path on the site context (very flimsy)
583
//
584
session.setAttribute( ShimGlobals.MODE_KEY, ShimGlobals.MODE_EDIT );
585       page1_.getSiteContext().setString( "path", "path" );
586
587       navModule = new NavModule();
588       navModule.init( page1_, "body" );
589       navModule.create();
590
591       navModule = new NavModule();
592       navModule.init( page1_, "body" );
593       navModule.load();
594       navModule.setString( "type", NavModule.TYPE_FOLDING );
595       navModule.setString( "header", "<ul>\n" );
596       navModule.setString( "link", "<li class=\"lev{level}\"><a HREF=\"{url}\">{title}</a></li>\n" );
597       navModule.setString( "curlink", "<li class=\"lev{level}cur\"><a HREF=\"{url}\">{title}</a></li>\n" );
598       navModule.setString( "footer", "</ul>\n" );
599       navModule.save();
600
601       navModule = new NavModule();
602       navModule.init( page1_, "body" );
603       navModule.display( request, response, out );
604     }
605     catch ( Exception JavaDoc e ) {
606       e.printStackTrace();
607       fail();
608     }
609   }
610
611   public void endDisplayFoldingEditMode( WebResponse response ) {
612     String JavaDoc html =
613       "<ul>\n" +
614       "<li class=\"lev1cur\"><a HREF=\"page1.shtml\">Page1</a></li>\n" +
615       "<li class=\"lev2\"><a HREF=\"page2.shtml\">Page2</a></li>\n" +
616       "<li class=\"lev2\"><a HREF=\"page4.shtml\">Page4</a></li>\n" +
617       "<li class=\"lev2\"><a HREF=\"page5.shtml\">Page5</a></li>\n" +
618       "</ul>\n\n";
619
620     assertEquals( html, response.getText() );
621   }
622
623   public void testDisplayJsp() {
624     try {
625       navModule = new NavModule();
626       navModule.init( page1_, "body" );
627       navModule.create();
628       navModule.setString( "type", NavModule.TYPE_JSP );
629       navModule.setString( "jsp", "jsp/nav.jsp" );
630       navModule.save();
631
632       navModule = new NavModule();
633       navModule.init( page1_, "body" );
634       navModule.display( request, response, out );
635
636       link = ( Link )request.getAttribute( ShimGlobals.CURRENTLINK_KEY );
637
638       assertNotNull( link );
639       assertEquals( "Page1", link.getTitle() );
640     }
641     catch ( Exception JavaDoc e ) {
642       e.printStackTrace();
643       fail();
644     }
645   }
646
647   public void endDisplayJsp( WebResponse response ) {
648     assertEquals( "Hello from nav.jsp!\n", response.getText() );
649   }
650
651   public void testDisplayJspException() {
652     try {
653       navModule = new NavModule();
654       navModule.init( page1_, "body" );
655       navModule.create();
656       navModule.setString( "type", NavModule.TYPE_JSP );
657       navModule.setString( "jsp", "jsp/invalid.jsp" );
658       navModule.save();
659
660       navModule = new NavModule();
661       navModule.init( page1_, "body" );
662       navModule.display( request, response, out );
663
664       link = ( Link )request.getAttribute( ShimGlobals.CURRENTLINK_KEY );
665
666       assertNotNull( link );
667       assertEquals( "Page1", link.getTitle() );
668     }
669     catch ( Exception JavaDoc e ) {
670       e.printStackTrace();
671       fail();
672     }
673   }
674
675   public void endDisplayJspException( WebResponse response ) {
676     assertTrue( response.getText().startsWith( "org.apache.jasper.JasperException" ) );
677   }
678
679   public void testConfigure() {
680     try {
681       dynaActionForm = new MockDynaActionForm();
682       dynaActionForm.set( "pageid", "666" );
683       dynaActionForm.set( "panel", "body" );
684
685       navModule = new NavModule();
686       forward = navModule.configure( new ActionMapping(), dynaActionForm, request, response );
687
688       assertEquals( "/configureNavModuleForm.do?pageid=666&panel=body", forward.getPath() );
689     }
690     catch ( Exception JavaDoc e ) {
691       e.printStackTrace();
692       fail();
693     }
694   }
695
696   public void testCopyTo() {
697     try {
698       //
699
// copy to a new page
700
//
701
navModule = new NavModule();
702       navModule.init( page1_, "body" );
703       navModule.create();
704       navModule.setString( "type", NavModule.DEFAULT_TYPE );
705       navModule.setString( "separator", "|" );
706       navModule.save();
707
708       navModule = new NavModule();
709       navModule.init( page1_, "body" );
710       navModule.copyTo( page2_ );
711
712       navModule = new NavModule();
713       navModule.init( page2_, "body" );
714       navModule.load();
715       
716       assertEquals( NavModule.DEFAULT_TYPE, navModule.getString( "type" ) );
717       assertEquals( "|", navModule.getString( "separator" ) );
718
719       //
720
// copy to an existing page
721
//
722
navModule.setString( "separator", "*" );
723       navModule.save();
724
725       navModule = new NavModule();
726       navModule.init( page2_, "body" );
727       navModule.copyTo( page1_ );
728
729       navModule = new NavModule();
730       navModule.init( page1_, "body" );
731       navModule.load();
732       
733       assertEquals( "*", navModule.getString( "separator" ) );
734     }
735     catch ( Exception JavaDoc e ) {
736       e.printStackTrace();
737       fail();
738     }
739   }
740 }
741
Popular Tags