/** * Create a route matcher for the a request. * * @param path the path * @param requestParams the query parameters * @return the route matcher */ public final Iterator<RouteMatch> matcher(String path, Map<String, String[]> requestParams) { // Always start with a '/' if (!path.startsWith("/")) { path = "/" + path; } // return new RouteMatcher(this, Path.parse(path), requestParams); }
/** * Create a route matcher for the a request. * * @param path the path * @param requestParams the query parameters * @return the route matcher */ public final Iterator<RouteMatch> matcher(String path, Map<String, String[]> requestParams) { // Always start with a '/' if (!path.startsWith("/")) { path = "/" + path; } // return new RouteMatcher(this, Path.parse(path), requestParams); }
private void assertInvalid(String s) { try { Path.parse(s); fail("Was expecting " + s + " to be invalid"); } catch (IllegalArgumentException ignore) { } } }
private void assertInvalid(String s) { try { Path.parse(s); fail("Was expecting " + s + " to be invalid"); } catch (IllegalArgumentException ignore) { } } }
@Test public void testPercent1() { Path path = Path.parse("%5F"); assertEquals("_", path.getValue()); assertTrue(path.isEscaped(0)); }
@Test public void testPercent1() { Path path = Path.parse("%5F"); assertEquals("_", path.getValue()); assertTrue(path.isEscaped(0)); }
@Test public void testFoo() throws Exception { assertEquals("", Path.parse("").getValue()); assertEquals("a", Path.parse("a").getValue()); assertEquals("?", Path.parse("%3F").getValue()); assertEquals(" ", Path.parse("%20").getValue()); assertEquals("? ", Path.parse("%3F%20").getValue()); // Path p2 = Path.parse("_"); assertEquals("_", p2.getValue()); assertFalse(p2.isEscaped(0)); // Path p3 = Path.parse("a%5Fb%5Fc"); assertEquals("a_b_c", p3.getValue()); assertFalse(p3.isEscaped(0)); assertTrue(p3.isEscaped(1)); assertFalse(p3.isEscaped(2)); assertTrue(p3.isEscaped(3)); assertFalse(p3.isEscaped(4)); // Path p4 = p3.subPath(2); assertFalse(p4.isEscaped(0)); assertTrue(p4.isEscaped(1)); assertFalse(p4.isEscaped(2)); }
@Test public void testPercent3() { Path path = Path.parse("%E2%82%AC"); assertEquals(1, path.length()); assertEquals('\u20AC', path.charAt(0)); assertTrue(path.isEscaped(0)); }
@Test public void testFoo() throws Exception { assertEquals("", Path.parse("").getValue()); assertEquals("a", Path.parse("a").getValue()); assertEquals("?", Path.parse("%3F").getValue()); assertEquals(" ", Path.parse("%20").getValue()); assertEquals("? ", Path.parse("%3F%20").getValue()); // Path p2 = Path.parse("_"); assertEquals("_", p2.getValue()); assertFalse(p2.isEscaped(0)); // Path p3 = Path.parse("a%5Fb%5Fc"); assertEquals("a_b_c", p3.getValue()); assertFalse(p3.isEscaped(0)); assertTrue(p3.isEscaped(1)); assertFalse(p3.isEscaped(2)); assertTrue(p3.isEscaped(3)); assertFalse(p3.isEscaped(4)); // Path p4 = p3.subPath(2); assertFalse(p4.isEscaped(0)); assertTrue(p4.isEscaped(1)); assertFalse(p4.isEscaped(2)); }
@Test public void testPercent3() { Path path = Path.parse("%E2%82%AC"); assertEquals(1, path.length()); assertEquals('\u20AC', path.charAt(0)); assertTrue(path.isEscaped(0)); }
@Test public void testPercent2() { Path path = Path.parse("%C2%A2"); assertEquals(1, path.length()); assertEquals('\u00A2', path.charAt(0)); assertTrue(path.isEscaped(0)); }
@Test public void testPercent2() { Path path = Path.parse("%C2%A2"); assertEquals(1, path.length()); assertEquals('\u00A2', path.charAt(0)); assertTrue(path.isEscaped(0)); }
@Test public void testSubPath() { Path path = Path.parse("foo"); assertEquals("foo", path.subPath(0).getValue()); assertEquals("oo", path.subPath(1).getValue()); assertEquals("o", path.subPath(2).getValue()); assertEquals("", path.subPath(3).getValue()); try { path.subPath(4); fail(); } catch (IndexOutOfBoundsException expected) { } try { path.subPath(-1); fail(); } catch (IndexOutOfBoundsException expected) { } }
@Test public void testSubPath() { Path path = Path.parse("foo"); assertEquals("foo", path.subPath(0).getValue()); assertEquals("oo", path.subPath(1).getValue()); assertEquals("o", path.subPath(2).getValue()); assertEquals("", path.subPath(3).getValue()); try { path.subPath(4); fail(); } catch (IndexOutOfBoundsException expected) { } try { path.subPath(-1); fail(); } catch (IndexOutOfBoundsException expected) { } }