use std::convert::TryFrom; use unixstring::UnixString; #[test] fn empty_vec() { let empty = UnixString::try_from(vec![]).unwrap(); assert_eq!(empty.to_str().unwrap(), ""); assert_eq!(empty.as_bytes(), &[]); assert_eq!(empty.as_bytes_with_nul(), &[0]); } #[test] fn size_one_vec() { let one = UnixString::try_from(vec![b'1']).unwrap(); assert_eq!(one.to_str().unwrap(), "1"); assert_eq!(one.as_bytes(), &[b'1']); assert_eq!(one.as_bytes_with_nul(), &[b'1', 0]); } #[test] fn valid_bytes() { let abc = UnixString::try_from(b"abc".to_vec()).unwrap(); assert_eq!(abc.to_str().unwrap(), "abc"); assert_eq!(abc.as_bytes(), b"abc".to_vec().as_slice()); assert_eq!(abc.as_bytes_with_nul(), b"abc\0".to_vec().as_slice()); } #[test] fn invalid_bytes_fails() { let abc = UnixString::try_from(b"a\0bc".to_vec()); assert!(abc.is_err()) }