1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.views.jsp.ui;
22
23 import javax.servlet.jsp.JspException;
24
25 import org.apache.struts2.util.TokenHelper;
26 import org.apache.struts2.views.jsp.AbstractUITagTest;
27
28
29 /***
30 * TokenTagTest
31 *
32 */
33 public class TokenTagTest extends AbstractUITagTest {
34
35 public void testDefaultName() {
36 String tokenName = TokenHelper.DEFAULT_TOKEN_NAME;
37 TokenTag tag = new TokenTag();
38 doTokenTest(tokenName, tag);
39 }
40
41 public void testMultipleTagsWithSameName() {
42 String tokenName = "sameName";
43 TokenTag tag = new TokenTag();
44 tag.setName(tokenName);
45
46 String token = doTokenTest(tokenName, tag);
47
48 TokenTag anotherTag = new TokenTag();
49 anotherTag.setName(tokenName);
50
51 String anotherToken = doTokenTest(tokenName, anotherTag);
52 assertEquals(token, anotherToken);
53 }
54
55 /***
56 * WW-480
57 */
58 public void testNotFindableName() {
59 String tokenName = "foo";
60 TokenTag tag = new TokenTag();
61 tag.setName(tokenName);
62 doTokenTest(tokenName, tag);
63
64 String s = writer.toString();
65 assertTrue(s.indexOf("name=\"" + TokenHelper.DEFAULT_TOKEN_NAME) > -1);
66 assertTrue(s.indexOf("value=\"" + tokenName + "\"") > -1);
67 assertTrue(s.indexOf("name=\"" + tokenName + "\"") > -1);
68
69
70 }
71
72 public void testSuppliedName() {
73 String tokenName = "my.very.long.token.name";
74 TokenTag tag = new TokenTag();
75 tag.setName(tokenName);
76 doTokenTest(tokenName, tag);
77 }
78
79 private String doTokenTest(String tokenName, TokenTag tag) {
80 tag.setPageContext(pageContext);
81
82 String token = null;
83
84 try {
85 tag.doStartTag();
86 tag.doEndTag();
87
88 token = (String) context.get(tokenName);
89 assertNotNull(token);
90 assertEquals(token, pageContext.getSession().getAttribute(tokenName));
91 } catch (JspException e) {
92 e.printStackTrace();
93 fail();
94 }
95
96 return token;
97 }
98 }