1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.objectledge.web.mvc.finders;
29
30 import junit.framework.TestCase;
31
32 /***
33 *
34 * @author <a href="mailto:rafal@caltha.pl">Rafal Krzewski</a>
35 * @version $Id: ViewFallbackSequenceTest.java,v 1.8 2005/02/16 18:39:34 rafal Exp $
36 */
37 public class ViewFallbackSequenceTest extends TestCase
38 {
39 /***
40 * Constructor for ViewFallbackSequenceTest.
41 * @param arg0
42 */
43 public ViewFallbackSequenceTest(String arg0)
44 {
45 super(arg0);
46 }
47
48 public void testPackage()
49 {
50 Sequence sequence = new ViewFallbackSequence("a.b.c", '.', '/', "Default", false);
51 assertEquals("a/b/c/Default", sequence.next());
52 assertEquals("a.b.c.Default", sequence.currentView());
53 assertEquals("a/b/Default", sequence.next());
54 assertEquals("a.b.Default", sequence.currentView());
55 assertEquals("a/Default", sequence.next());
56 assertEquals("a.Default", sequence.currentView());
57 assertEquals("Default", sequence.next());
58 assertEquals("Default", sequence.currentView());
59 assertEquals(false, sequence.hasNext());
60 try
61 {
62 sequence.next();
63 fail("exception expected");
64 }
65 catch(Exception e)
66 {
67
68 }
69 sequence.reset();
70 assertEquals(true, sequence.hasNext());
71 }
72
73 public void testClass()
74 {
75 Sequence sequence = new ViewFallbackSequence("a.b.C", '.', '/', "Default", false);
76 assertEquals("a/b/C", sequence.next());
77 assertEquals("a.b.C", sequence.currentView());
78 assertEquals("a/b/Default", sequence.next());
79 assertEquals("a.b.Default", sequence.currentView());
80 assertEquals("a/Default", sequence.next());
81 assertEquals("a.Default", sequence.currentView());
82 assertEquals("Default", sequence.next());
83 assertEquals("Default", sequence.currentView());
84 assertEquals(false, sequence.hasNext());
85 try
86 {
87 sequence.next();
88 fail("exception expected");
89 }
90 catch(Exception e)
91 {
92
93 }
94 sequence.reset();
95 assertEquals(true, sequence.hasNext());
96 }
97
98 public void testDefault()
99 {
100 Sequence sequence = new ViewFallbackSequence("a.b.Default", '.', '/', "Default", false);
101 assertEquals("a/b/Default", sequence.next());
102 assertEquals("a.b.Default", sequence.currentView());
103 assertEquals("a/Default", sequence.next());
104 assertEquals("a.Default", sequence.currentView());
105 assertEquals("Default", sequence.next());
106 assertEquals("Default", sequence.currentView());
107 assertEquals(false, sequence.hasNext());
108 try
109 {
110 sequence.next();
111 fail("exception expected");
112 }
113 catch(Exception e)
114 {
115
116 }
117 sequence.reset();
118 assertEquals(true, sequence.hasNext());
119 }
120
121 public void testSingle()
122 {
123 Sequence sequence = new ViewFallbackSequence("a", '.', '/', "Default", false);
124 assertEquals("a/Default", sequence.next());
125 assertEquals("a.Default", sequence.currentView());
126 assertEquals("Default", sequence.next());
127 assertEquals("Default", sequence.currentView());
128 assertEquals(false, sequence.hasNext());
129 sequence = new ViewFallbackSequence("A", '.', '/', "Default", false);
130 assertEquals("A", sequence.next());
131 assertEquals("A", sequence.currentView());
132 assertEquals("Default", sequence.next());
133 assertEquals("Default", sequence.currentView());
134 assertEquals(false, sequence.hasNext());
135 sequence = new ViewFallbackSequence("Default", '.', '/', "Default", false);
136 assertEquals("Default", sequence.next());
137 assertEquals("Default", sequence.currentView());
138 assertEquals(false, sequence.hasNext());
139 }
140
141 public void testPackageEnclosing()
142 {
143 Sequence sequence = new ViewFallbackSequence("a.b.c", '.', '/', "Default", true);
144 assertEquals("a/b/Default", sequence.next());
145 assertEquals("a.b.Default", sequence.currentView());
146 assertEquals("a/Default", sequence.next());
147 assertEquals("a.Default", sequence.currentView());
148 assertEquals("Default", sequence.next());
149 assertEquals("Default", sequence.currentView());
150 assertEquals(false, sequence.hasNext());
151 try
152 {
153 sequence.next();
154 fail("exception expected");
155 }
156 catch(Exception e)
157 {
158
159 }
160 sequence.reset();
161 assertEquals(true, sequence.hasNext());
162 }
163
164 public void testClassEnclosing()
165 {
166 Sequence sequence = new ViewFallbackSequence("a.b.C", '.', '/', "Default", true);
167 assertEquals("a/b/Default", sequence.next());
168 assertEquals("a.b.Default", sequence.currentView());
169 assertEquals("a/Default", sequence.next());
170 assertEquals("a.Default", sequence.currentView());
171 assertEquals("Default", sequence.next());
172 assertEquals("Default", sequence.currentView());
173 assertEquals(false, sequence.hasNext());
174 try
175 {
176 sequence.next();
177 fail("exception expected");
178 }
179 catch(Exception e)
180 {
181
182 }
183 sequence.reset();
184 assertEquals(true, sequence.hasNext());
185 }
186
187 public void testDefaultEnclosing()
188 {
189 Sequence sequence = new ViewFallbackSequence("a.b.Default", '.', '/', "Default", true);
190 assertEquals("a/Default", sequence.next());
191 assertEquals("a.Default", sequence.currentView());
192 assertEquals("Default", sequence.next());
193 assertEquals("Default", sequence.currentView());
194 assertEquals(false, sequence.hasNext());
195 try
196 {
197 sequence.next();
198 fail("exception expected");
199 }
200 catch(Exception e)
201 {
202
203 }
204 sequence.reset();
205 assertEquals(true, sequence.hasNext());
206 }
207
208 public void testSingleEnclosing()
209 {
210 Sequence sequence = new ViewFallbackSequence("a", '.', '/', "Default", true);
211 assertEquals("Default", sequence.next());
212 assertEquals("Default", sequence.currentView());
213 assertEquals(false, sequence.hasNext());
214 sequence = new ViewFallbackSequence("A", '.', '/', "Default", true);
215 assertEquals("Default", sequence.next());
216 assertEquals("Default", sequence.currentView());
217 assertEquals(false, sequence.hasNext());
218 sequence = new ViewFallbackSequence("Default", '.', '/', "Default", true);
219 assertEquals(false, sequence.hasNext());
220 }
221 }