@Test public void testNamedGroups() { ParameterizedPathMatcher pathMatcher = new ParameterizedPathMatcher(); assertMapValues( pathMatcher.namedParameters("com/(t?st.jsp:jsp)", "com/test.jsp"), "jsp", "test.jsp"); assertMapValues( pathMatcher.namedParameters("com/(*.jsp:jsp)", "com/test.jsp"), "jsp", "test.jsp"); assertMapValues( pathMatcher.namedParameters("com/(**:path)/test.jsp", "com/foo/test.jsp"), "path", "foo"); assertMapValues( pathMatcher.namedParameters( "org/springframework/(**/*:view).jsp", "org/springframework/feed/foo.jsp"), "view", "feed/foo"); assertMapValues( pathMatcher.namedParameters("/user/(*:user)/found", "\\user\\stefan\\found"), "user", "stefan"); assertMapValues( pathMatcher.namedParameters("view/page/(*:pageId)", "view/page/23432"), "pageId", "23432"); assertMapValues( pathMatcher.namedParameters("view/(*:controller)/(*:pageId)", "view/image/12345"), "controller", "image", "pageId", "12345"); }
@Test public void testExtractPathWithinPattern() { ParameterizedPathMatcher pathMatcher = new ParameterizedPathMatcher(); assertEquals( "", pathMatcher.extractPathWithinPattern("/docs/cvs/commit.html", "/docs/cvs/commit.html")); assertEquals("cvs/commit", pathMatcher.extractPathWithinPattern("/docs/*", "/docs/cvs/commit")); assertEquals( "commit.html", pathMatcher.extractPathWithinPattern("/docs/cvs/*.html", "/docs/cvs/commit.html")); assertEquals( "cvs/commit", pathMatcher.extractPathWithinPattern("/docs/**", "/docs/cvs/commit")); assertEquals( "cvs/commit.html", pathMatcher.extractPathWithinPattern("/docs/**/*.html", "/docs/cvs/commit.html")); assertEquals( "docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("/**.html", "/docs/cvs/commit.html")); assertEquals( "/docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("**.html", "/docs/cvs/commit.html")); assertEquals( "/docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("**", "/docs/cvs/commit.html")); assertEquals( "cvs/commit.html", pathMatcher.extractPathWithinPattern("/docs/(**:x)/*.html", "/docs/cvs/commit.html")); assertEquals( "cvs/commit.html", pathMatcher.extractPathWithinPattern("/docs/(**/*:x).html", "/docs/cvs/commit.html")); assertEquals( "docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("/do(cs/**/*.html:x)", "/docs/cvs/commit.html")); assertEquals( "docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("/do(cs/**:x)/*.html", "/docs/cvs/commit.html")); assertEquals( "docs/cvs/commit.html", pathMatcher.extractPathWithinPattern("/(docs:x)/**/*.html", "/docs/cvs/commit.html")); }
@Test public void testMatchesWithName() { ParameterizedPathMatcher pathMatcher = new ParameterizedPathMatcher(); assertTrue(pathMatcher.match("com/(t?st.jsp:jsp)", "com/test.jsp")); assertTrue(pathMatcher.match("com/(t?st.jsp:jsp)", "com/tast.jsp")); assertTrue(pathMatcher.match("com/(t?st.jsp:jsp)", "com/txst.jsp")); assertFalse(pathMatcher.match("com/(t?st.jsp:jsp)", "com/text.jsp")); assertTrue(pathMatcher.match("com/(*.jsp:jsp)", "com/test.jsp")); assertTrue(pathMatcher.match("com/(*.jsp:jsp)", "com/foo.jsp")); assertTrue(pathMatcher.match("com/(*.jsp:jsp)", "com/feed.jsp")); assertFalse(pathMatcher.match("com/(*.jsp:jsp)", "com/feed.jxp")); assertFalse(pathMatcher.match("com/(*.jsp:jsp)", "com/testxjsp")); assertFalse(pathMatcher.match("com/(*.jsp:jsp)", "com/test/test.jsp")); assertTrue(pathMatcher.match("com/(**/test.jsp:path)", "com/test.jsp")); assertTrue(pathMatcher.match("com/**/(test.jsp:jsp)", "com/foo/test.jsp")); assertFalse(pathMatcher.match("com/(**:path)/test.jsp", "com/foo/text.jsp")); assertFalse(pathMatcher.match("com/**/test.jsp", "com/foo/test")); assertTrue( pathMatcher.match("org/springframework/(**/*:view).jsp", "org/springframework/test.jsp")); assertTrue( pathMatcher.match( "org/springframework/(**/*:view).jsp", "org/springframework/feed/foo.jsp")); assertFalse( pathMatcher.match("org/springframework/(**/*:view).jsp", "org/springframework/test.txt")); assertFalse( pathMatcher.match( "org/springframework/(**/*:view).jsp", "com/springframework/feed/foo.jsp")); assertTrue( pathMatcher.match("org/(**:path)/servlet/bla.jsp", "org/springframework/servlet/bla.jsp")); assertTrue( pathMatcher.match( "org/(**:path)/servlet/bla.jsp", "org/springframework/testing/servlet/bla.jsp")); assertTrue(pathMatcher.match("org/(**:path)/servlet/bla.jsp", "org/servlet/bla.jsp")); assertTrue( pathMatcher.match("/list/(*:name)/(**/*:path)*", "/list/sandbox/trunk/dev?revision=123")); assertTrue( pathMatcher.match("/list/(*:name)/(**/*:path)*", "/list/sandbox/trunk/dev/?revision=123")); }
@Test public void testMatchesWithoutName() { ParameterizedPathMatcher pathMatcher = new ParameterizedPathMatcher(); assertTrue(pathMatcher.match("com/t?st.jsp", "com/test.jsp")); assertTrue(pathMatcher.match("com/t?st.jsp", "com/tast.jsp")); assertTrue(pathMatcher.match("com/t?st.jsp", "com/txst.jsp")); assertFalse(pathMatcher.match("com/t?st.jsp", "com/text.jsp")); assertTrue(pathMatcher.match("com/*.jsp", "com/test.jsp")); assertTrue(pathMatcher.match("com/*.jsp", "com/foo.jsp")); assertTrue(pathMatcher.match("com/*.jsp", "com/feed.jsp")); assertFalse(pathMatcher.match("com/*.jsp", "com/feed.jxp")); assertFalse(pathMatcher.match("com/*.jsp", "com/testxjsp")); assertFalse(pathMatcher.match("com/*.jsp", "com/test/test.jsp")); assertTrue(pathMatcher.match("com/**/test.jsp", "com/test.jsp")); assertTrue(pathMatcher.match("com/**/test.jsp", "com/foo/test.jsp")); assertFalse(pathMatcher.match("com/**/test.jsp", "com/foo/text.jsp")); assertFalse(pathMatcher.match("com/**/test.jsp", "com/foo/test")); assertTrue(pathMatcher.match("org/springframework/**/*.jsp", "org/springframework/test.jsp")); assertTrue( pathMatcher.match("org/springframework/**/*.jsp", "org/springframework/feed/foo.jsp")); assertFalse(pathMatcher.match("org/springframework/**/*.jsp", "org/springframework/test.txt")); assertFalse( pathMatcher.match("org/springframework/**/*.jsp", "com/springframework/feed/foo.jsp")); assertTrue(pathMatcher.match("org/**/servlet/bla.jsp", "org/springframework/servlet/bla.jsp")); assertTrue( pathMatcher.match("org/**/servlet/bla.jsp", "org/springframework/testing/servlet/bla.jsp")); assertTrue(pathMatcher.match("org/**/servlet/bla.jsp", "org/servlet/bla.jsp")); }