public void testContentLength() throws IOException {
MockSender sender = new MockSender();
MockMonitor monitor = new MockMonitor();
MockRequest request = new MockRequest();
MockResponse response = new MockResponse();
Conversation support = new Conversation(request, response);
Transfer transfer = new Transfer(support, sender, monitor);
// Start a HTTP/1.1 conversation
request.setMajor(1);
request.setMinor(1);
transfer.start(1024);
assertEquals(response.getValue("Connection"), "keep-alive");
assertEquals(response.getValue("Content-Length"), "1024");
assertEquals(response.getValue("Transfer-Encoding"), null);
assertEquals(response.getContentLength(), 1024);
assertTrue(response.isCommitted());
sender = new MockSender();
monitor = new MockMonitor();
request = new MockRequest();
response = new MockResponse();
support = new Conversation(request, response);
transfer = new Transfer(support, sender, monitor);
// Start a HTTP/1.0 conversation
request.setMajor(1);
request.setMinor(0);
transfer.start(1024);
assertEquals(response.getValue("Connection"), "close");
assertEquals(response.getValue("Content-Length"), "1024");
assertEquals(response.getValue("Transfer-Encoding"), null);
assertEquals(response.getContentLength(), 1024);
assertTrue(response.isCommitted());
sender = new MockSender();
monitor = new MockMonitor();
request = new MockRequest();
response = new MockResponse();
support = new Conversation(request, response);
transfer = new Transfer(support, sender, monitor);
// Start a HTTP/1.0 conversation
request.setMajor(1);
request.setMinor(1);