1 package com.atlassian.plugin.servlet.util;
2
3 import junit.framework.TestCase;
4
5 public class TestPathMapper extends TestCase
6 {
7
8
9
10
11
12
13
14
15 public void testDoubleSlashes()
16 {
17 final PathMapper pathMapper = new DefaultPathMapper();
18
19 pathMapper.put("key", "/foo/bar*");
20 assertEquals("key", pathMapper.get("/foo/bar"));
21 assertEquals("key", pathMapper.get("/foo//bar"));
22 assertEquals("key", pathMapper.get("/foo///bar"));
23 assertEquals("key", pathMapper.get("/foo///bar 2"));
24 assertNull(pathMapper.get("/images/ddtree/black spinner/12.png"));
25 }
26
27 public void testSlashRemover()
28 {
29 final DefaultPathMapper pathMapper = new DefaultPathMapper();
30
31 assertNull(pathMapper.removeRedundantSlashes(null));
32 assertEquals("foo", pathMapper.removeRedundantSlashes("foo"));
33 assertEquals("foo/bar", pathMapper.removeRedundantSlashes("foo/bar"));
34 assertEquals("/", pathMapper.removeRedundantSlashes("/"));
35 assertEquals("/", pathMapper.removeRedundantSlashes("//"));
36 assertEquals("/", pathMapper.removeRedundantSlashes("///"));
37 assertEquals("foo/bar", pathMapper.removeRedundantSlashes("foo//bar"));
38 assertEquals("foo/bar", pathMapper.removeRedundantSlashes("foo///bar"));
39 assertEquals("foo/bar", pathMapper.removeRedundantSlashes("foo////bar"));
40 assertEquals("foo/bar/", pathMapper.removeRedundantSlashes("foo////bar/"));
41 assertEquals("/f oo/b/ar/", pathMapper.removeRedundantSlashes("//f oo////b/ar//"));
42 }
43
44 public void testRemovePath()
45 {
46 final PathMapper pathMapper = new DefaultPathMapper();
47
48 pathMapper.put("foo.bar", "/foo*");
49 pathMapper.put("foo.baz", "/bar*");
50 assertEquals("foo.bar", pathMapper.get("/foo/bar"));
51 assertEquals("foo.baz", pathMapper.get("/bar/foo"));
52
53 pathMapper.put("foo.bar", null);
54 assertNull(pathMapper.get("/foo/bar"));
55 assertEquals(0, pathMapper.getAll("/foo/bar").size());
56 assertEquals("foo.baz", pathMapper.get("/bar/foo"));
57 }
58 }