use aok::{OK, Void};
use log::info;
#[ctor::ctor(unsafe)]
fn _log_init() {
log_init::init();
}
#[test]
fn test() -> Void {
info!("> test {}", 123456);
OK
}
use wresp::read::*;
#[test]
fn test_length_encoding() {
let mut length = 0;
let mut ptr = b"$5\r\n".as_slice();
assert!(try_read_unsigned_length_header(&mut length, &mut ptr, b'$').unwrap());
assert_eq!(length, 5);
let mut ptr = b"$-1\r\n".as_slice();
assert!(try_read_signed_length_header(&mut length, &mut ptr, b'$').unwrap());
assert_eq!(length, -1);
let mut ptr = b"*3\r\n".as_slice();
assert!(try_read_unsigned_array_length(&mut length, &mut ptr).unwrap());
assert_eq!(length, 3);
}
#[test]
fn test_skip_byte_array() {
let mut ptr = b"$5\r\nhello\r\n".as_slice();
assert!(try_skip_byte_array_with_length_header(&mut ptr).unwrap());
assert!(ptr.is_empty());
}
#[test]
fn test_int32_boundary_length_headers() {
let mut ptr = b"$2147483647\r\n".as_slice();
let mut length = 0;
assert!(try_read_unsigned_length_header(&mut length, &mut ptr, b'$').unwrap());
assert_eq!(length, i32::MAX);
let mut ptr = b"$-2147483648\r\n".as_slice();
let mut length = 0;
assert!(try_read_signed_length_header(&mut length, &mut ptr, b'$').unwrap());
assert_eq!(length, i32::MIN);
let mut ptr = b"$2147483648\r\n".as_slice();
let mut length = 0;
assert!(try_read_unsigned_length_header(&mut length, &mut ptr, b'$').is_err());
}