1 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 name ) { 35 super( name ); 36 } 37 38 FoldingTreeNode menu1_ = null; 39 FoldingTreeNode menu2_ = null; 40 FoldingTreeNode menu3_ = null; 41 String menu1Html_ = null; 42 String menu2Html_ = null; 43 String menu3Html_ = null; 44 45 protected void setUp() { 46 try { 48 FoldingTreeNode item = null; 49 FoldingTreeNode subitem = null; 50 FoldingTreeNode subsubitem = null; 51 52 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 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 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 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 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 e ) { 179 e.printStackTrace(); 180 fail(); 181 } 182 } 183 184 public void testGetMenuHtml() { 185 try { 186 StringBuffer buf = null; 187 MenuRenderer renderer = null; 188 String html = null; 189 190 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 (); 197 renderer = new MenuRenderer(); 198 renderer.getMenuHtml( buf, menu1_, new int[] { 1 }, 40, 20 ); 199 200 assertEquals( html, buf.toString() ); 201 202 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 (); 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 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 (); 224 renderer = new MenuRenderer(); 225 renderer.getMenuHtml( buf, menu2_, new int[] { 1 }, 40, 20 ); 226 227 assertEquals( html, buf.toString() ); 228 } 229 catch ( Exception e ) { 230 e.printStackTrace(); 231 fail(); 232 } 233 } 234 235 public void testRenderMenu() { 236 try { 237 String 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 e ) { 246 e.printStackTrace(); 247 fail(); 248 } 249 } 250 } 251 | Popular Tags |