KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > methodhead > menu > MenuRendererTest


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.menu;
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.tree.*;
30 import java.awt.*;
31
32 public class MenuRendererTest extends TestCase {
33
34   public MenuRendererTest( String JavaDoc name ) {
35     super( name );
36   }
37
38   FoldingTreeNode menu1_ = null;
39   FoldingTreeNode menu2_ = null;
40   FoldingTreeNode menu3_ = null;
41   String JavaDoc menu1Html_ = null;
42   String JavaDoc menu2Html_ = null;
43   String JavaDoc menu3Html_ = null;
44
45   protected void setUp() {
46     //setLogLevel( Level.DEBUG );
47
try {
48       FoldingTreeNode item = null;
49       FoldingTreeNode subitem = null;
50       FoldingTreeNode subsubitem = null;
51
52       //
53
// Menu ()
54
// MenuItem ("http://site.com")
55
//
56
item = new FoldingTreeNode();
57       item.setLabel( "MenuItem" );
58       item.setUrl( "http://site.com" );
59       menu1_ = new FoldingTreeNode();
60       menu1_.setLabel( "Menu" );
61       menu1_.setUrl( "" );
62       menu1_.add( item );
63
64       menu1Html_ =
65         "NoOffFirstLineMenus=1;\n" +
66         "Menu1=new Array(\"Menu\",\"\",\"\",1,20,40);\n" +
67         "Menu1_1=new Array(\"MenuItem\",\"http://site.com\",\"\",0,20,80);\n";
68
69       //
70
// Menu ()
71
// MenuItem ("http://site.com")
72
// LongMenuItem ("http://LongMenuItem.com")
73
// Item ("http://Item.com")
74
//
75
menu2_ = new FoldingTreeNode();
76       menu2_.setLabel( "Menu" );
77       menu2_.setUrl( "" );
78       item = new FoldingTreeNode();
79       item.setLabel( "MenuItem" );
80       item.setUrl( "http://site.com" );
81       menu2_.add( item );
82       item = new FoldingTreeNode();
83       item.setLabel( "LongMenuItem" );
84       item.setUrl( "http://LongMenuItem.com" );
85       menu2_.add( item );
86       item = new FoldingTreeNode();
87       item.setLabel( "Item" );
88       item.setUrl( "http://Item.com" );
89       menu2_.add( item );
90
91       menu2Html_ =
92         "NoOffFirstLineMenus=1;\n" +
93         "Menu1=new Array(\"Menu\",\"\",\"\",3,20,40);\n" +
94         "Menu1_1=new Array(\"MenuItem\",\"http://site.com\",\"\",0,20,120);\n" +
95         "Menu1_2=new Array(\"LongMenuItem\",\"http://LongMenuItem.com\",\"\",0,20,120);\n" +
96         "Menu1_3=new Array(\"Item\",\"http://Item.com\",\"\",0,20,120);\n";
97
98       //
99
// Menu1 ()
100
// Menu2 ("Menu2.com")
101
// Menu21 ("Menu21.com")
102
// Menu3 ()
103
// Menu31 ("Menu31.com")
104
// Menu32 ("Menu32.com")
105
// Menu321 ("Menu321.com")
106
// Menu33 ("Menu33")
107
//
108
menu3_ = new FoldingTreeNode();
109       item = new FoldingTreeNode();
110       item.setLabel( "Menu1" );
111       item.setUrl( "" );
112       menu3_.add( item );
113       item = new FoldingTreeNode();
114       item.setLabel( "Menu2" );
115       item.setUrl( "Menu2.com" );
116       subitem = new FoldingTreeNode();
117       subitem.setLabel( "Menu21" );
118       subitem.setUrl( "Menu21.com" );
119       item.add( subitem );
120       menu3_.add( item );
121       item = new FoldingTreeNode();
122       item.setLabel( "Menu3" );
123       item.setUrl( "Menu3.com" );
124       subitem = new FoldingTreeNode();
125       subitem.setLabel( "Menu31" );
126       subitem.setUrl( "Menu31.com" );
127       item.add( subitem );
128       subitem = new FoldingTreeNode();
129       subitem.setLabel( "Menu32" );
130       subitem.setUrl( "Menu32.com" );
131       subsubitem = new FoldingTreeNode();
132       subsubitem.setLabel( "Menu321" );
133       subsubitem.setUrl( "Menu321.com" );
134       subitem.add( subsubitem );
135       item.add( subitem );
136       subitem = new FoldingTreeNode();
137       subitem.setLabel( "Menu33" );
138       subitem.setUrl( "Menu33.com" );
139       item.add( subitem );
140       menu3_.add( item );
141
142       menu3Html_ =
143         "NoOffFirstLineMenus=3;\n" +
144         "Menu1=new Array(\"Menu1\",\"\",\"\",0,20,50);\n" +
145         "Menu2=new Array(\"Menu2\",\"Menu2.com\",\"\",1,20,50);\n" +
146         "Menu2_1=new Array(\"Menu21\",\"Menu21.com\",\"\",0,20,60);\n" +
147         "Menu3=new Array(\"Menu3\",\"Menu3.com\",\"\",3,20,50);\n" +
148         "Menu3_1=new Array(\"Menu31\",\"Menu31.com\",\"\",0,20,60);\n" +
149         "Menu3_2=new Array(\"Menu32\",\"Menu32.com\",\"\",1,20,60);\n" +
150         "Menu3_2_1=new Array(\"Menu321\",\"Menu321.com\",\"\",0,20,70);\n" +
151         "Menu3_3=new Array(\"Menu33\",\"Menu33.com\",\"\",0,20,60);\n";
152     }
153     catch ( Exception JavaDoc e ) {
154       fail( e.getMessage() );
155     }
156   }
157
158   protected void tearDown() {
159   }
160
161   public void testGetVarName() {
162     try {
163       assertEquals( "Menu1", MenuRenderer.getVarName( new int[] { 1 } ) );
164       assertEquals( "Menu1_1", MenuRenderer.getVarName( new int[] { 1, 1 } ) );
165       assertEquals( "Menu2_1_3", MenuRenderer.getVarName( new int[] { 2, 1, 3 } ) );
166     }
167     catch ( Exception JavaDoc e ) {
168       e.printStackTrace();
169       fail();
170     }
171   }
172
173   public void testGetLongestLabelLength() {
174     try {
175       assertEquals( 8, MenuRenderer.getLongestLabelLength( menu1_ ) );
176       assertEquals( 12, MenuRenderer.getLongestLabelLength( menu2_ ) );
177     }
178     catch ( Exception JavaDoc e ) {
179       e.printStackTrace();
180       fail();
181     }
182   }
183
184   public void testGetMenuHtml() {
185     try {
186       StringBuffer JavaDoc buf = null;
187       MenuRenderer renderer = null;
188       String JavaDoc html = null;
189
190       //
191
// simple menu
192
//
193
html =
194         "Menu1=new Array(\"Menu\",\"\",\"\",1,20,40);\n" +
195         "Menu1_1=new Array(\"MenuItem\",\"http://site.com\",\"\",0,20,80);\n";
196       buf = new StringBuffer JavaDoc();
197       renderer = new MenuRenderer();
198       renderer.getMenuHtml( buf, menu1_, new int[] { 1 }, 40, 20 );
199
200       assertEquals( html, buf.toString() );
201
202       //
203
// simple menu with baseurl
204
//
205
html =
206         "Menu1=new Array(\"Menu\",\"\",\"\",1,20,40);\n" +
207         "Menu1_1=new Array(\"MenuItem\",\"BASEURLhttp://site.com\",\"\",0,20,80);\n";
208       buf = new StringBuffer JavaDoc();
209       renderer = new MenuRenderer();
210       renderer.setBaseUrl( "BASEURL" );
211       renderer.getMenuHtml( buf, menu1_, new int[] { 1 }, 40, 20 );
212
213       assertEquals( html, buf.toString() );
214
215       //
216
// more complicated menu
217
//
218
html =
219         "Menu1=new Array(\"Menu\",\"\",\"\",3,20,40);\n" +
220         "Menu1_1=new Array(\"MenuItem\",\"http://site.com\",\"\",0,20,120);\n" +
221         "Menu1_2=new Array(\"LongMenuItem\",\"http://LongMenuItem.com\",\"\",0,20,120);\n" +
222         "Menu1_3=new Array(\"Item\",\"http://Item.com\",\"\",0,20,120);\n";
223       buf = new StringBuffer JavaDoc();
224       renderer = new MenuRenderer();
225       renderer.getMenuHtml( buf, menu2_, new int[] { 1 }, 40, 20 );
226
227       assertEquals( html, buf.toString() );
228     }
229     catch ( Exception JavaDoc e ) {
230       e.printStackTrace();
231       fail();
232     }
233   }
234   
235   public void testRenderMenu() {
236     try {
237       String JavaDoc html = null;
238       MenuRenderer renderer = null;
239
240       renderer = new MenuRenderer();
241       html = renderer.renderMenu( menu3_ );
242
243       assertEquals( menu3Html_, html );
244     }
245     catch ( Exception JavaDoc e ) {
246       e.printStackTrace();
247       fail();
248     }
249   }
250 }
251
Popular Tags