}
}
public void testEntityWithTransferEncoding() throws Exception {
SessionInputBuffer datareceiver = new SessionInputBufferMockup("0\r\n", "US-ASCII");
HttpMessage message = new HttpMessageMockup();
// lenient mode
message.getParams().setBooleanParameter(CoreProtocolPNames.STRICT_TRANSFER_ENCODING, false);
message.addHeader("Content-Type", "unknown");
message.addHeader("Transfer-Encoding", "identity, chunked");
message.addHeader("Content-Length", "plain wrong");
EntityDeserializer entitygen = new EntityDeserializer(
new LaxContentLengthStrategy());
HttpEntity entity = entitygen.deserialize(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertTrue(entity.isChunked());
assertTrue(entity.getContent() instanceof ChunkedInputStream);
// strict mode
message.getParams().setBooleanParameter(CoreProtocolPNames.STRICT_TRANSFER_ENCODING, true);
entity = entitygen.deserialize(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertTrue(entity.isChunked());
assertTrue(entity.getContent() instanceof ChunkedInputStream);