pub mod u8z;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn a_const_i8p_eq_u8p() {
let b = b"ab";
let c = u8z::U8zBuf::from_u8array(b);
assert_eq!(c.as_i8p() as usize, c.as_u8p() as usize);
}
#[test]
fn b_const_eq_mut() {
let b = b"ab";
let mut m = u8z::U8zBuf::from_u8array(b);
assert_eq!(m.as_u8p() as usize, m.as_u8p_mut() as usize);
assert_eq!(m.as_i8p() as usize, m.as_i8p_mut() as usize);
assert_eq!(m.as_i8p() as usize, m.as_u8p() as usize);
}
#[test]
fn c_check_array() {
let b = b"x\0yz"; let mut m = u8z::U8zBuf::from_u8array(b);
let s: usize = b.len() + 1;
assert_eq!(s, 5);
let d: &mut Vec<u8> = &mut vec![255u8; s]; d[..].copy_from_slice(
unsafe { std::slice::from_raw_parts(m.as_u8p_mut(), s) });
assert_eq!(d[..(s - 1)], b.to_vec()); assert_eq!(d[s - 1], 0u8); }
}