diff options
author | Lester Solbakken <lesters@yahoo-inc.com> | 2016-08-10 14:56:25 +0200 |
---|---|---|
committer | Lester Solbakken <lesters@yahoo-inc.com> | 2016-08-10 14:56:25 +0200 |
commit | 64828a3afbe4a13764573e4b6badce784ded6cd4 (patch) | |
tree | 7ba6ac3685631d2205625b3c07752a3c1fda63bd /container-search/src/test/java/com/yahoo/search/rendering | |
parent | 161f8e25e70d34c03c9f9624a5b69a428956abc3 (diff) |
Add JSONP support to JsonRenderer
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/rendering')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java index 4b26187c9d3..1cb72b4dd65 100644 --- a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java @@ -131,12 +131,17 @@ public class JsonRendererTestCase { assertEqualJson(expected, summary); } - private Result newEmptyResult() { - Query q = new Query("/?query=a"); + private Result newEmptyResult(String[] args) { + String query = "/?" + String.join("&", args); + Query q = new Query(query); Result r = new Result(q); return r; } + private Result newEmptyResult() { + return newEmptyResult(new String[] {"query=a"}); + } + @Test public final void testDataTypes() throws IOException, InterruptedException, ExecutionException, JSONException { String expected = "{\n" @@ -1084,6 +1089,44 @@ public class JsonRendererTestCase { assertEqualJson(expected, summary); } + @Test + public final void testJsonCallback() throws IOException, InterruptedException, ExecutionException, JSONException { + String expected = "{\n" + + " \"root\": {\n" + + " \"children\": [\n" + + " {\n" + + " \"fields\": {\n" + + " \"documentid\": \"id:unittest:smoke::whee\"\n" + + " },\n" + + " \"id\": \"id:unittest:smoke::whee\",\n" + + " \"relevance\": 1.0\n" + + " }\n" + + " ],\n" + + " \"fields\": {\n" + + " \"totalCount\": 1\n" + + " },\n" + + " \"id\": \"toplevel\",\n" + + " \"relevance\": 1.0\n" + + " }\n" + + "}\n"; + + String jsonCallback = "some_function_name"; + Result r = newEmptyResult(new String[] {"query=a", "jsoncallback="+jsonCallback} ); + Hit h = new Hit("jsonCallbackTest"); + h.setField("documentid", new DocumentId("id:unittest:smoke::whee")); + r.hits().add(h); + r.setTotalHitCount(1L); + String summary = render(r); + + String jsonCallbackBegin = summary.substring(0, jsonCallback.length() + 1); + String jsonCallbackEnd = summary.substring(summary.length() - 2); + String json = summary.substring(jsonCallback.length() + 1, summary.length() - 2); + + assertEquals(jsonCallback + "(", jsonCallbackBegin); + assertEqualJson(expected, json); + assertEquals(");", jsonCallbackEnd); + } + private String render(Result r) throws InterruptedException, ExecutionException { Execution execution = new Execution( |