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.io.IOException;
23 import java.util.Stack;
24
25 import javax.faces.component.UIComponentBase;
26 import javax.faces.context.FacesContext;
27
28 import junit.framework.Test;
29 import junit.framework.TestSuite;
30
31 import org.apache.myfaces.test.AbstractTomahawkViewControllerTestCase;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public class AbstractTreeTestCase extends AbstractTomahawkViewControllerTestCase
60 {
61 static final String DEFAULT_NODE_TYPE = "default";
62 static final String TREE_ID = "some_foo_tree";
63
64 HtmlTree tree;
65 TreeNodeBase rootNode;
66
67
68
69
70
71 public AbstractTreeTestCase(String name)
72 {
73 super(name);
74 }
75
76
77
78
79 protected void setUp() throws Exception
80 {
81 super.setUp();
82
83 tree = new HtmlTree();
84 tree.setId(TREE_ID);
85
86
87 rootNode = new TreeNodeBase(DEFAULT_NODE_TYPE, "Root", "Root", false);
88
89 TreeNodeBase A_node = new TreeNodeBase(DEFAULT_NODE_TYPE, "A", "A", false);
90 A_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "AA", "AA", false));
91 A_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "AB", "AB", false));
92 TreeNodeBase AC_node = new TreeNodeBase(DEFAULT_NODE_TYPE, "AC", "AC", false);
93 AC_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "aca", "aca", true));
94 AC_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "acb", "acb", true));
95 A_node.getChildren().add(AC_node);
96 rootNode.getChildren().add(A_node);
97
98 TreeNodeBase B_node = new TreeNodeBase(DEFAULT_NODE_TYPE, "B", "B", false);
99 B_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "BA", "BA", false));
100 B_node.getChildren().add(new TreeNodeBase(DEFAULT_NODE_TYPE, "BB", "BB", false));
101 rootNode.getChildren().add(B_node);
102
103 TreeNodeBase C_node = new TreeNodeBase(DEFAULT_NODE_TYPE, "C", "C", false);
104 rootNode.getChildren().add(C_node);
105
106 TreeNodeBase d_node = new TreeNodeBase(DEFAULT_NODE_TYPE, "d", "d", true);
107 rootNode.getChildren().add(d_node);
108
109 tree.setValue(rootNode);
110 }
111
112
113
114
115
116 static final class NodeSimulator extends UIComponentBase
117 {
118 private static final String COMPONENT_FAMILY = "Foo";
119 private Stack nodeStack = new Stack();
120
121 public String getFamily()
122 {
123 return COMPONENT_FAMILY;
124 }
125
126 public void encodeBegin(FacesContext context) throws IOException
127 {
128 HtmlTree tree = (HtmlTree)super.getParent();
129 nodeStack.push(tree.getNode());
130 }
131
132 public Stack getNodeStack()
133 {
134 return nodeStack;
135 }
136 }
137
138
139 public static Test suite()
140 {
141 return (new TestSuite());
142 }
143 }