View | Details | Raw Unified | Return to bug 54068
Collapse All | Expand All

(-)test/org/apache/catalina/deploy/TestWebXmlOrdering.java (+26 lines)
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");

Return to bug 54068