message.addHeader("Content-Length", "plain wrong");
assertEquals(ContentLengthStrategy.IDENTITY, lenStrategy.determineLength(message));
}
public void testEntityWithUnsupportedTransferEncoding() throws Exception {
ContentLengthStrategy lenStrategy = new LaxContentLengthStrategy();
HttpMessage message = new HttpMessageMockup();
// lenient mode
message.getParams().setBooleanParameter(CoreProtocolPNames.STRICT_TRANSFER_ENCODING, false);
message.addHeader("Content-Type", "unknown");
message.addHeader("Transfer-Encoding", "whatever; param=value, chunked");
message.addHeader("Content-Length", "plain wrong");
assertEquals(ContentLengthStrategy.CHUNKED, lenStrategy.determineLength(message));
// strict mode
message.getParams().setBooleanParameter(CoreProtocolPNames.STRICT_TRANSFER_ENCODING, true);
try {
lenStrategy.determineLength(message);
fail("ProtocolException should have been thrown");
} catch (ProtocolException ex) {
// expected
}
}