in src/protocol/memcache/src/request/incr.rs [131:182]
fn parse() {
let parser = RequestParser::new();
// basic command
assert_eq!(
parser.parse_request(b"incr 0 1\r\n"),
Ok((
&b""[..],
Request::Incr(Incr {
key: b"0".to_vec().into_boxed_slice(),
value: 1,
noreply: false,
})
))
);
// noreply
assert_eq!(
parser.parse_request(b"incr 0 1 noreply\r\n"),
Ok((
&b""[..],
Request::Incr(Incr {
key: b"0".to_vec().into_boxed_slice(),
value: 1,
noreply: true,
})
))
);
// alternate value
assert_eq!(
parser.parse_request(b"incr 0 42\r\n"),
Ok((
&b""[..],
Request::Incr(Incr {
key: b"0".to_vec().into_boxed_slice(),
value: 42,
noreply: false,
})
))
);
// trailing space doesn't matter
assert_eq!(
parser.parse_request(b"incr 0 1\r\n"),
parser.parse_request(b"incr 0 1 \r\n"),
);
assert_eq!(
parser.parse_request(b"incr 0 1 noreply\r\n"),
parser.parse_request(b"incr 0 1 noreply \r\n"),
);
}