1 7 package com.inversoft.verge.mvc.view.jsp.html.test; 8 9 10 import java.util.ArrayList ; 11 import java.util.Collection ; 12 import java.util.HashMap ; 13 import java.util.Map ; 14 15 import javax.servlet.jsp.JspException ; 16 import javax.servlet.jsp.tagext.Tag ; 17 18 import com.inversoft.junit.AutoJspTestCallback; 19 import com.inversoft.junit.JspTestCallback; 20 import com.inversoft.junit.JspTestCase; 21 import com.inversoft.verge.mvc.view.jsp.html.FormTag; 22 import com.inversoft.verge.mvc.view.jsp.html.OptionsArrayTag; 23 import com.inversoft.verge.mvc.view.jsp.html.SelectTag; 24 25 26 35 public class OptionsArrayTagTest extends JspTestCase { 36 37 41 public OptionsArrayTagTest(String name) { 42 super(name); 43 setLocal(true); 44 } 45 46 47 public void testArray() { 48 FormTag parent = new FormTag(); 49 SelectTag select = new SelectTag(); 50 select.setParent(parent); 51 52 OptionsArrayTag tag = new OptionsArrayTag(); 53 tag.setParent(select); 54 tag.setPageContext(pageContext); 55 56 String [] items = {"one", "two", "three"}; 57 tag.setItems(items); 58 59 try { 60 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 61 String tagStr = getPageContext().getMockOut().getText(); 62 63 System.out.println("Options tag: " + tagStr); 64 assertEquals("Should be list", tagStr, 65 "<option value=\"one\">one</option>\n" + 66 "<option value=\"two\">two</option>\n" + 67 "<option value=\"three\">three</option>\n"); 68 } catch (JspException e) { 69 fail(e.toString()); 70 } 71 } 72 73 public void testArrayEL() { 74 FormTag parent = new FormTag(); 75 SelectTag select = new SelectTag(); 76 select.setParent(parent); 77 78 OptionsArrayTag tag = new OptionsArrayTag(); 79 tag.setParent(select); 80 tag.setPageContext(pageContext); 81 tag.setItems("${items}"); 82 83 String [] items = {"one", "two", "three"}; 84 pageContext.setAttribute("items", items); 85 86 try { 87 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 88 String tagStr = getPageContext().getMockOut().getText(); 89 90 System.out.println("Options tag: " + tagStr); 91 assertEquals("Should be list", tagStr, 92 "<option value=\"one\">one</option>\n" + 93 "<option value=\"two\">two</option>\n" + 94 "<option value=\"three\">three</option>\n"); 95 } catch (JspException e) { 96 fail(e.toString()); 97 } 98 } 99 100 public void testArrayOneSelected() { 101 FormTag parent = new FormTag(); 102 SelectTag select = new SelectTag(); 103 select.setName("sel"); 104 select.setValue("one"); 105 select.setParent(parent); 106 select.setPageContext(pageContext); 107 108 OptionsArrayTag tag = new OptionsArrayTag(); 109 tag.setParent(select); 110 tag.setPageContext(pageContext); 111 112 String [] items = {"one", "two", "three"}; 113 tag.setItems(items); 114 115 JspTestCallback callback = new AutoJspTestCallback(new Tag []{tag}); 116 try { 117 assertEquals("Should return EVAL_PAGE", runTag(select, callback), 118 Tag.EVAL_PAGE); 119 String tagStr = getPageContext().getMockOut().getText(); 120 String expected = "<select name=\"sel\">" + 121 "<option value=\"one\" selected>one</option>\n" + 122 "<option value=\"two\">two</option>\n" + 123 "<option value=\"three\">three</option>\n</select>"; 124 125 System.out.println("Options tag: " + tagStr); 126 System.out.println("Excepted: " + tagStr); 127 assertEquals(expected, tagStr); 128 } catch (JspException e) { 129 fail(e.toString()); 130 } 131 } 132 133 public void testArrayTwoSelected() { 134 FormTag parent = new FormTag(); 135 SelectTag select = new SelectTag(); 136 String [] selectValues = {"one", "two"}; 137 select.setName("sel"); 138 select.setValue(selectValues); 139 select.setParent(parent); 140 select.setPageContext(pageContext); 141 142 OptionsArrayTag tag = new OptionsArrayTag(); 143 tag.setParent(select); 144 tag.setPageContext(pageContext); 145 146 String [] items = {"one", "two", "three"}; 147 tag.setItems(items); 148 149 JspTestCallback callback = new AutoJspTestCallback(new Tag []{tag}); 150 try { 151 assertEquals("Should return EVAL_PAGE", runTag(select, callback), 152 Tag.EVAL_PAGE); 153 String tagStr = getPageContext().getMockOut().getText(); 154 String expected = "<select name=\"sel\">" + 155 "<option value=\"one\" selected>one</option>\n" + 156 "<option value=\"two\" selected>two</option>\n" + 157 "<option value=\"three\">three</option>\n</select>"; 158 159 System.out.println("Options tag: " + tagStr); 160 System.out.println("Excepted: " + tagStr); 161 assertEquals(expected, tagStr); 162 } catch (JspException e) { 163 fail(e.toString()); 164 } 165 } 166 167 public void testArrayAllSelected() { 168 FormTag parent = new FormTag(); 169 SelectTag select = new SelectTag(); 170 String [] selectValues = {"one", "two", "three"}; 171 select.setName("sel"); 172 select.setValue(selectValues); 173 select.setParent(parent); 174 select.setPageContext(pageContext); 175 176 OptionsArrayTag tag = new OptionsArrayTag(); 177 tag.setParent(select); 178 tag.setPageContext(pageContext); 179 180 String [] items = {"one", "two", "three"}; 181 tag.setItems(items); 182 183 JspTestCallback callback = new AutoJspTestCallback(new Tag []{tag}); 184 try { 185 assertEquals("Should return EVAL_PAGE", runTag(select, callback), 186 Tag.EVAL_PAGE); 187 String tagStr = getPageContext().getMockOut().getText(); 188 String expected = "<select name=\"sel\">" + 189 "<option value=\"one\" selected>one</option>\n" + 190 "<option value=\"two\" selected>two</option>\n" + 191 "<option value=\"three\" selected>three</option>\n</select>"; 192 193 System.out.println("Options tag: " + tagStr); 194 System.out.println("Excepted: " + tagStr); 195 assertEquals(expected, tagStr); 196 } catch (JspException e) { 197 fail(e.toString()); 198 } 199 } 200 201 public void testCollection() { 202 FormTag parent = new FormTag(); 203 SelectTag select = new SelectTag(); 204 select.setParent(parent); 205 206 OptionsArrayTag tag = new OptionsArrayTag(); 207 tag.setParent(select); 208 tag.setPageContext(pageContext); 209 210 Collection items = new ArrayList (); 211 items.add("one"); 212 items.add("two"); 213 items.add("three"); 214 tag.setItems(items); 215 216 try { 217 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 218 String tagStr = getPageContext().getMockOut().getText(); 219 220 System.out.println("Options tag: " + tagStr); 221 assertEquals("Should be list", tagStr, 222 "<option value=\"one\">one</option>\n" + 223 "<option value=\"two\">two</option>\n" + 224 "<option value=\"three\">three</option>\n"); 225 } catch (JspException e) { 226 fail(e.toString()); 227 } 228 } 229 230 public void testCollectionEL() { 231 FormTag parent = new FormTag(); 232 SelectTag select = new SelectTag(); 233 select.setParent(parent); 234 235 OptionsArrayTag tag = new OptionsArrayTag(); 236 tag.setParent(select); 237 tag.setPageContext(pageContext); 238 tag.setItems("${items}"); 239 240 Collection items = new ArrayList (); 241 items.add("one"); 242 items.add("two"); 243 items.add("three"); 244 pageContext.setAttribute("items", items); 245 246 try { 247 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 248 String tagStr = getPageContext().getMockOut().getText(); 249 250 System.out.println("Options tag: " + tagStr); 251 assertEquals("Should be list", tagStr, 252 "<option value=\"one\">one</option>\n" + 253 "<option value=\"two\">two</option>\n" + 254 "<option value=\"three\">three</option>\n"); 255 } catch (JspException e) { 256 fail(e.toString()); 257 } 258 } 259 260 public void testMap() { 261 FormTag parent = new FormTag(); 262 SelectTag select = new SelectTag(); 263 select.setParent(parent); 264 265 OptionsArrayTag tag = new OptionsArrayTag(); 266 tag.setParent(select); 267 tag.setPageContext(pageContext); 268 269 Map items = new HashMap (); 270 items.put("one", "one"); 271 items.put("two", "two"); 272 items.put("three", "three"); 273 tag.setItems(items); 274 275 try { 276 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 277 String tagStr = getPageContext().getMockOut().getText(); 278 279 System.out.println("Options tag: " + tagStr); 280 assertEquals("Should be list", tagStr, 281 "<option value=\"one\">one</option>\n" + 282 "<option value=\"two\">two</option>\n" + 283 "<option value=\"three\">three</option>\n"); 284 } catch (JspException e) { 285 fail(e.toString()); 286 } 287 } 288 289 public void testMapEL() { 290 FormTag parent = new FormTag(); 291 SelectTag select = new SelectTag(); 292 select.setParent(parent); 293 294 OptionsArrayTag tag = new OptionsArrayTag(); 295 tag.setParent(select); 296 tag.setPageContext(pageContext); 297 tag.setItems("${items}"); 298 299 Map items = new HashMap (); 300 items.put("one", "one"); 301 items.put("two", "two"); 302 items.put("three", "three"); 303 pageContext.setAttribute("items", items); 304 305 try { 306 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 307 String tagStr = getPageContext().getMockOut().getText(); 308 309 System.out.println("Options tag: " + tagStr); 310 assertEquals("Should be list", tagStr, 311 "<option value=\"one\">one</option>\n" + 312 "<option value=\"two\">two</option>\n" + 313 "<option value=\"three\">three</option>\n"); 314 } catch (JspException e) { 315 fail(e.toString()); 316 } 317 } 318 319 public void testProperties() { 320 FormTag parent = new FormTag(); 321 SelectTag select = new SelectTag(); 322 select.setParent(parent); 323 324 OptionsArrayTag tag = new OptionsArrayTag(); 325 tag.setParent(select); 326 tag.setPageContext(pageContext); 327 328 Object [] items = {new Bean("one", "one"), new Bean("two", "two"), 329 new Bean("three", "three")}; 330 tag.setItems(items); 331 tag.setTextProperty("text"); 332 tag.setValueProperty("value"); 333 334 try { 335 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 336 String tagStr = getPageContext().getMockOut().getText(); 337 338 System.out.println("Options tag: " + tagStr); 339 assertEquals("Should be list", tagStr, 340 "<option value=\"one\">one</option>\n" + 341 "<option value=\"two\">two</option>\n" + 342 "<option value=\"three\">three</option>\n"); 343 } catch (JspException e) { 344 fail(e.toString()); 345 } 346 } 347 348 351 public void testNull() { 352 FormTag parent = new FormTag(); 353 SelectTag select = new SelectTag(); 354 select.setParent(parent); 355 356 OptionsArrayTag tag = new OptionsArrayTag(); 357 tag.setParent(select); 358 tag.setPageContext(pageContext); 359 360 Object [] items = null; 361 tag.setItems(items); 362 tag.setTextProperty("text"); 363 tag.setValueProperty("value"); 364 365 try { 366 assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE); 367 String tagStr = getPageContext().getMockOut().getText(); 368 369 System.out.println("Options tag: " + tagStr); 370 assertTrue("Should be empty", tagStr == null || tagStr.trim().length() == 0); 371 } catch (JspException e) { 372 fail(e.toString()); 373 } 374 } 375 } | Popular Tags |