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