浏览代码

add similar concrete path trie tests resolution

Shay Banon 11 年之前
父节点
当前提交
e8781d67da
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      src/test/java/org/elasticsearch/common/path/PathTrieTests.java

+ 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>();