diff options
Diffstat (limited to 'core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java')
-rw-r--r-- | core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java b/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java index 80a62b1316..8299b18dca 100644 --- a/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java +++ b/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java @@ -19,9 +19,11 @@ package org.elasticsearch.index.query; +import org.apache.lucene.index.Term; import org.apache.lucene.index.memory.MemoryIndex; import org.apache.lucene.search.MatchAllDocsQuery; import org.apache.lucene.search.Query; +import org.apache.lucene.search.TermQuery; import org.elasticsearch.action.support.ToXContentToBytes; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.bytes.BytesArray; @@ -129,6 +131,24 @@ public class WrapperQueryBuilderTests extends AbstractQueryTestCase<WrapperQuery assertEquals(new BoolQueryBuilder().must(query).boost(3), builder.rewrite(shardContext)); } + public void testRewriteInnerQueryToo() throws IOException { + QueryShardContext shardContext = createShardContext(); + + QueryBuilder qb = new WrapperQueryBuilder( + new WrapperQueryBuilder(new TermQueryBuilder("foo", "bar").toString()).toString() + ); + assertEquals(new TermQuery(new Term("foo", "bar")), qb.rewrite(shardContext).toQuery(shardContext)); + qb = new WrapperQueryBuilder( + new WrapperQueryBuilder( + new WrapperQueryBuilder(new TermQueryBuilder("foo", "bar").toString()).toString() + ).toString() + ); + assertEquals(new TermQuery(new Term("foo", "bar")), qb.rewrite(shardContext).toQuery(shardContext)); + + qb = new WrapperQueryBuilder(new BoolQueryBuilder().toString()); + assertEquals(new MatchAllDocsQuery(), qb.rewrite(shardContext).toQuery(shardContext)); + } + @Override protected Query rewrite(Query query) throws IOException { // WrapperQueryBuilder adds some optimization if the wrapper and query builder have boosts / query names that wraps |