01: /*
02: * Copyright (c) 2002-2003 by OpenSymphony
03: * All rights reserved.
04: */
05: package com.opensymphony.webwork.views.jsp.ui;
06:
07: import com.opensymphony.webwork.util.TokenHelper;
08: import com.opensymphony.webwork.views.jsp.AbstractUITagTest;
09:
10: import javax.servlet.jsp.JspException;
11:
12: /**
13: * TokenTagTest
14: *
15: * @author Jason Carreira
16: * Created Apr 10, 2003 7:12:12 PM
17: */
18: public class TokenTagTest extends AbstractUITagTest {
19:
20: public void testDefaultName() {
21: String tokenName = TokenHelper.DEFAULT_TOKEN_NAME;
22: TokenTag tag = new TokenTag();
23: doTokenTest(tokenName, tag);
24: }
25:
26: public void testMultipleTagsWithSameName() {
27: String tokenName = "sameName";
28: TokenTag tag = new TokenTag();
29: tag.setName(tokenName);
30:
31: String token = doTokenTest(tokenName, tag);
32:
33: TokenTag anotherTag = new TokenTag();
34: anotherTag.setName(tokenName);
35:
36: String anotherToken = doTokenTest(tokenName, anotherTag);
37: assertEquals(token, anotherToken);
38: }
39:
40: /**
41: * WW-480
42: */
43: public void testNotFindableName() {
44: String tokenName = "foo";
45: TokenTag tag = new TokenTag();
46: tag.setName(tokenName);
47: doTokenTest(tokenName, tag);
48:
49: String s = writer.toString();
50: assertTrue(s
51: .indexOf("name=\"" + TokenHelper.DEFAULT_TOKEN_NAME) > -1);
52: assertTrue(s.indexOf("value=\"" + tokenName + "\"") > -1);
53: assertTrue(s.indexOf("name=\"" + tokenName + "\"") > -1);
54:
55: //System.out.println(s);
56: }
57:
58: public void testSuppliedName() {
59: String tokenName = "my.very.long.token.name";
60: TokenTag tag = new TokenTag();
61: tag.setName(tokenName);
62: doTokenTest(tokenName, tag);
63: }
64:
65: private String doTokenTest(String tokenName, TokenTag tag) {
66: tag.setPageContext(pageContext);
67:
68: String token = null;
69:
70: try {
71: tag.doStartTag();
72: tag.doEndTag();
73:
74: token = (String) context.get(tokenName);
75: assertNotNull(token);
76: assertEquals(token, pageContext.getSession().getAttribute(
77: tokenName));
78: } catch (JspException e) {
79: e.printStackTrace();
80: fail();
81: }
82:
83: return token;
84: }
85: }
|