@Test
public void testParams() throws IOException {
handler = (request, response) -> {
Assert.assertEquals("key=value&array=1&array=2&empty=&=empty&=", request.getQueryString());
Assert.assertEquals("value", request.param("key"));
Assert.assertEquals("1", request.param("array"));
List<String> params = request.params("array");
Assert.assertEquals(2, params.size());
Assert.assertEquals("1", params.get(0));
Assert.assertEquals("2", params.get(1));
Assert.assertEquals("", request.param("empty"));
Assert.assertEquals("empty", request.param(""));
Assert.assertEquals("", request.params("").get(1));
return response.setBody("ok");
};
Assert.assertEquals("ok", makeRequest("/path")
.addParameter("key", "value")
.addParameter("array", "1")
.addParameter("array", "2")
.addParameter("empty", "")
.addParameter("", "empty")
.addParameter("", "")
.get().asString());
handler = (request, response) -> {
Assert.assertEquals("", request.param("key"));
return response.setBody("ok");
};
Assert.assertEquals("ok", makeRequest("/path?key").get().asString());
}