Ver Fonte

add similar concrete path trie tests resolution

Shay Banon há 11 anos atrás
pai
commit
e8781d67da

+ 16 - 0
src/test/java/org/elasticsearch/common/path/PathTrieTests.java

@@ -111,6 +111,22 @@ public class PathTrieTests extends ElasticsearchTestCase {
         assertThat(trie.retrieve("/b/a", params), equalTo("test4"));
     }
 
+    @Test
+    public void testSamePathConcreteResolution() {
+        PathTrie<String> trie = new PathTrie<String>();
+        trie.insert("{x}/{y}/{z}", "test1");
+        trie.insert("{x}/_y/{k}", "test2");
+
+        Map<String, String> params = newHashMap();
+        assertThat(trie.retrieve("/a/b/c", params), equalTo("test1"));
+        assertThat(params.get("x"), equalTo("a"));
+        assertThat(params.get("y"), equalTo("b"));
+        assertThat(params.get("z"), equalTo("c"));
+        assertThat(trie.retrieve("/a/_y/c", params), equalTo("test2"));
+        assertThat(params.get("x"), equalTo("a"));
+        assertThat(params.get("k"), equalTo("c"));
+    }
+
     @Test
     public void testNamedWildcardAndLookupWithWildcard() {
         PathTrie<String> trie = new PathTrie<String>();