Lines 17-23
Link Here
|
17 |
|
17 |
|
18 |
package org.apache.catalina.deploy; |
18 |
package org.apache.catalina.deploy; |
19 |
|
19 |
|
|
|
20 |
import java.util.Arrays; |
20 |
import java.util.HashMap; |
21 |
import java.util.HashMap; |
|
|
22 |
import java.util.LinkedHashMap; |
21 |
import java.util.HashSet; |
23 |
import java.util.HashSet; |
22 |
import java.util.Iterator; |
24 |
import java.util.Iterator; |
23 |
import java.util.Map; |
25 |
import java.util.Map; |
Lines 250-255
Link Here
|
250 |
} |
252 |
} |
251 |
|
253 |
|
252 |
@Test |
254 |
@Test |
|
|
255 |
public void testOrderWebFragmentsRelative4() { |
256 |
// Linear order, expected result is input order reversed |
257 |
b.addAfterOrdering("a"); |
258 |
c.addAfterOrdering("b"); |
259 |
for (String toRemove: Arrays.asList("d", "e", "f")) { |
260 |
fragments.remove(toRemove); |
261 |
} |
262 |
|
263 |
// create a reverse list of fragments |
264 |
Map<String, WebXml> fragmentsInReverse = new LinkedHashMap<String, WebXml>(); |
265 |
fragmentsInReverse.put("c", c); |
266 |
fragmentsInReverse.put("b", b); |
267 |
fragmentsInReverse.put("a", a); |
268 |
Set<WebXml> ordered = WebXml.orderWebFragments(app, fragmentsInReverse); |
269 |
Iterator<WebXml> iter = ordered.iterator(); |
270 |
// A number of orders are possible but the algorithm is deterministic |
271 |
// and this order is valid. If this fails after a change to the |
272 |
// algorithm, then check to see if the new order is also valid. |
273 |
assertEquals(a,iter.next()); |
274 |
assertEquals(b,iter.next()); |
275 |
assertEquals(c,iter.next()); |
276 |
} |
277 |
|
278 |
@Test |
253 |
public void testOrderWebFragmentsrelativeCircular() { |
279 |
public void testOrderWebFragmentsrelativeCircular() { |
254 |
a.addBeforeOrdering("b"); |
280 |
a.addBeforeOrdering("b"); |
255 |
b.addBeforeOrdering("a"); |
281 |
b.addBeforeOrdering("a"); |