in src/session/buffer.rs [171:192]
fn write_1() {
let mut buffer = Buffer::with_capacity(8);
assert_eq!(buffer.len(), 0);
assert_eq!(buffer.available_capacity(), 8);
assert!(buffer.is_empty());
// first write fits in buffer
buffer.extend_from_slice(b"GET ");
assert_eq!(buffer.len(), 4);
assert_eq!(buffer.available_capacity(), 4);
assert!(!buffer.is_empty());
let content: &[u8] = buffer.borrow();
assert_eq!(content, b"GET ");
// second write causes buffer to grow
buffer.extend_from_slice(b"SOME_KEY\r\n");
assert_eq!(buffer.len(), 14);
assert_eq!(buffer.available_capacity(), 2);
assert!(!buffer.is_empty());
let content: &[u8] = buffer.borrow();
assert_eq!(content, b"GET SOME_KEY\r\n");
}