diff --git a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java index 88f5a0e254e..0d739904f36 100644 --- a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java +++ b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java @@ -49,9 +49,9 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 { public static void beforeClass() throws Exception { initCore("solrconfig.xml", "schema12.xml"); String v = "how now brown cow"; - assertU(adoc("id","1", "text",v, "text_np", v)); + assertU(adoc("id","1", "text",v, "text_np", v, "#foo_s", v)); v = "now cow"; - assertU(adoc("id","2", "text",v, "text_np",v)); + assertU(adoc("id","2", "text",v, "text_np", v)); assertU(commit()); } @@ -307,6 +307,23 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 { assertFalse(rf.wantsAllFields()); } + @Test + public void testFunkyFieldNames() { + ReturnFields rf = new SolrReturnFields(req("fl", "#foo_s", "fl", "id")); + assertFalse(rf.wantsScore()); + assertTrue(rf.wantsField("id")); + assertTrue(rf.wantsField("#foo_s")); + assertFalse(rf.wantsField("xxx")); + assertFalse(rf.wantsAllFields()); + + assertQ(req("q","id:1", "fl","#foo_s", "fl","id") + ,"//*[@numFound='1'] " + ,"//str[@name='id'][.='1']" + ,"//arr[@name='#foo_s']/str[.='how now brown cow']" + ); + + } + public void testWhitespace() { Random r = random(); final int iters = atLeast(30);