@Test public void testBug() throws Exception { Router router = new Router(); Route a = router.append("/{p}", Collections.singletonMap(Names.P, PathParam.matching("[^_]+"))); // This is a *known* bug assertNull(router.route("/_")); // This is expected assertEquals("/_", a.matches(Collections.singletonMap(Names.P, "/")).render()); // This is expected assertNull(router.route("/%5F")); assertNull(a.matches(Collections.singletonMap(Names.P, "_"))); }
@Test public void testParamPreservePath() throws Exception { RouterAssert router = new RouterAssert(); Route a = router.append("/{p}", Collections.singletonMap(Names.P, PathParam.matching("[^/]+").preservePath(true))); // Route router.assertRoute(Collections.singletonMap(Names.P, "_"), "/_"); assertNull(router.route("//")); // Render assertNull(a.matches(Collections.singletonMap(Names.P, "/"))); }
@Test public void testBug() throws Exception { Router router = new Router(); Route a = router.append("/{p}", Collections.singletonMap(Names.P, PathParam.matching("[^_]+"))); // This is a *known* bug assertNull(router.route("/_")); // This is expected assertEquals("/_", a.matches(Collections.singletonMap(Names.P, "/")).render()); // This is expected assertNull(router.route("/%5F")); assertNull(a.matches(Collections.singletonMap(Names.P, "_"))); }
@Test public void testParamPreservePath() throws Exception { RouterAssert router = new RouterAssert(); Route a = router.append("/{p}", Collections.singletonMap(Names.P, PathParam.matching("[^/]+").preservePath(true))); // Route router.assertRoute(Collections.singletonMap(Names.P, "_"), "/_"); assertNull(router.route("//")); // Render assertNull(a.matches(Collections.singletonMap(Names.P, "/"))); }
@Test public void testD() throws Exception { RouterAssert router = new RouterAssert(); Route a = router.append("/{p}", RouteKind.MATCH_ANY, Collections.singletonMap(Names.P, PathParam.matching("/[a-z]+/[a-z]+/?"))); // Route router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator"), "/_platform_administrator"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator"), "/_platform_administrator/"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator/"), "/_platform_administrator_"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator/"), "/_platform_administrator_/"); // Render assertEquals("/_platform_administrator", a.matches(Collections.singletonMap(Names.P, "/platform/administrator")).render()); assertEquals("/_platform_administrator_", a.matches(Collections.singletonMap(Names.P, "/platform/administrator/")).render()); assertNull(a.matches(Collections.singletonMap(Names.P, "/platform/administrator//"))); }
@Test public void testD() throws Exception { RouterAssert router = new RouterAssert(); Route a = router.append("/{p}", RouteKind.MATCH_ANY, Collections.singletonMap(Names.P, PathParam.matching("/[a-z]+/[a-z]+/?"))); // Route router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator"), "/_platform_administrator"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator"), "/_platform_administrator/"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator/"), "/_platform_administrator_"); router.assertRoute(Collections.singletonMap(Names.P, "/platform/administrator/"), "/_platform_administrator_/"); // Render assertEquals("/_platform_administrator", a.matches(Collections.singletonMap(Names.P, "/platform/administrator")).render()); assertEquals("/_platform_administrator_", a.matches(Collections.singletonMap(Names.P, "/platform/administrator/")).render()); assertNull(a.matches(Collections.singletonMap(Names.P, "/platform/administrator//"))); }