1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.custom.tree2;
21
22 import java.util.Stack;
23
24 import javax.faces.component.html.HtmlForm;
25
26 import junit.framework.Test;
27 import junit.framework.TestSuite;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 public class HtmlTreeRendererTest extends AbstractTreeTestCase
54 {
55 private NodeSimulator nodeSim;
56
57
58
59
60
61 public HtmlTreeRendererTest(String name)
62 {
63 super(name);
64 }
65
66
67
68
69 protected void setUp() throws Exception
70 {
71 super.setUp();
72
73 nodeSim = new NodeSimulator();
74
75
76
77 tree.getFacets().put(DEFAULT_NODE_TYPE, nodeSim);
78
79
80 renderKit.addRenderer(HtmlTree.COMPONENT_FAMILY, HtmlTree.COMPONENT_TYPE, new HtmlTreeRenderer());
81 }
82
83
84
85
86
87 public void testHideRootNodeServer() throws Exception
88 {
89 tree.setParent(new HtmlForm());
90 tree.setClientSideToggle(false);
91 tree.setShowRootNode(false);
92
93 HtmlTreeRenderer treeRenderer = new HtmlTreeRenderer();
94 treeRenderer.encodeChildren(facesContext, tree);
95
96
97 Stack nodeStack = nodeSim.getNodeStack();
98 int numRendered = nodeStack.size();
99 assertEquals("Unexpected number of nodes rendered", 4, numRendered);
100
101 TreeNode node = (TreeNode)nodeStack.pop();
102 assertEquals("d", node.getIdentifier());
103
104 node = (TreeNode)nodeStack.pop();
105 assertEquals("C", node.getIdentifier());
106
107 node = (TreeNode)nodeStack.pop();
108 assertEquals("B", node.getIdentifier());
109
110 node = (TreeNode)nodeStack.pop();
111 assertEquals("A", node.getIdentifier());
112 }
113
114
115
116
117
118 public void testHideRootNodeClient() throws Exception
119 {
120 tree.setClientSideToggle(true);
121 tree.setShowRootNode(false);
122
123 HtmlTreeRenderer treeRenderer = new HtmlTreeRenderer();
124 treeRenderer.encodeChildren(facesContext, tree);
125
126
127 Stack nodeStack = nodeSim.getNodeStack();
128 int numRendered = nodeStack.size();
129 assertEquals("Unexpected number of nodes rendered", 11, numRendered);
130
131 TreeNode node = (TreeNode)nodeStack.pop();
132 assertEquals("d", node.getIdentifier());
133
134 node = (TreeNode)nodeStack.pop();
135 assertEquals("C", node.getIdentifier());
136
137 node = (TreeNode)nodeStack.pop();
138 assertEquals("BB", node.getIdentifier());
139
140 node = (TreeNode)nodeStack.pop();
141 assertEquals("BA", node.getIdentifier());
142
143 node = (TreeNode)nodeStack.pop();
144 assertEquals("B", node.getIdentifier());
145
146 node = (TreeNode)nodeStack.pop();
147 assertEquals("acb", node.getIdentifier());
148
149 node = (TreeNode)nodeStack.pop();
150 assertEquals("aca", node.getIdentifier());
151
152 node = (TreeNode)nodeStack.pop();
153 assertEquals("AC", node.getIdentifier());
154
155 node = (TreeNode)nodeStack.pop();
156 assertEquals("AB", node.getIdentifier());
157
158 node = (TreeNode)nodeStack.pop();
159 assertEquals("AA", node.getIdentifier());
160
161 node = (TreeNode)nodeStack.pop();
162 assertEquals("A", node.getIdentifier());
163 }
164
165 public static Test suite()
166 {
167 return new TestSuite(HtmlTreeRendererTest.class);
168 }
169 }