1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.core5.http.impl.routing;
29
30 import org.junit.jupiter.api.Assertions;
31 import org.junit.jupiter.api.Test;
32
33 public class TestPathPatternMatcher {
34
35 @Test
36 public void testPathMatching() throws Exception {
37 final PathPatternMatcher matcher = PathPatternMatcher.INSTANCE;
38
39 Assertions.assertTrue(matcher.match("/*", "/foo/request"));
40 Assertions.assertTrue(matcher.match("/foo/*", "/foo/request"));
41 Assertions.assertTrue(matcher.match("/foo/req*", "/foo/request"));
42 Assertions.assertTrue(matcher.match("/foo/request", "/foo/request"));
43 Assertions.assertFalse(matcher.match("/foo/request", "/foo/requesta"));
44 Assertions.assertFalse(matcher.match("/foo/*", "foo/request"));
45 Assertions.assertFalse(matcher.match("/foo/*", "/bar/foo"));
46 }
47
48 @Test
49 public void testBetterMatch() throws Exception {
50 final PathPatternMatcher matcher = PathPatternMatcher.INSTANCE;
51
52 Assertions.assertTrue(matcher.isBetter("/a*", "/*"));
53 Assertions.assertTrue(matcher.isBetter("/a*", "*"));
54 Assertions.assertTrue(matcher.isBetter("/*", "*"));
55 Assertions.assertTrue(matcher.isBetter("/a/b*", "/a*"));
56 }
57
58 }