package org.jooby; import static org.junit.Assert.assertEquals; import org.jooby.test.ServerFeature; import org.junit.Test; public class ParamIdentityFeature extends ServerFeature { public static class ParamBean { } { parser((type, ctx) -> { if (type.getRawType() == ParamBean.class) { return new ParamBean(); } return ctx.next(); }); get("/identity", req -> { ParamBean call1 = req.param("p").to(ParamBean.class); ParamBean call2 = req.param("p").to(ParamBean.class); ParamBean call3 = req.param("p").to(ParamBean.class); ParamBean call4 = req.param("p").to(ParamBean.class); assertEquals(call1, call2); assertEquals(call2, call3); assertEquals(call3, call4); String callb1 = req.param("p").value(); String callb2 = req.param("p").value(); String callb3 = req.param("p").value(); String callb4 = req.param("p").value(); assertEquals(callb1, callb2); assertEquals(callb2, callb3); assertEquals(callb3, callb4); return "OK"; }); } @Test public void identity() throws Exception { request() .get("/identity?p=jooby") .expect("OK"); } }