use cpp_std::cpp_core::SliceAsBeginEnd; use cpp_std::String; use std::ffi::CStr; fn main() {} #[test] fn string_push() { unsafe { let mut s = String::new(); s.push_back('t' as i8); s.push_back('e' as i8); s.push_back('s' as i8); s.push_back('t' as i8); assert_eq!( CStr::from_ptr(s.c_str().as_raw_ptr()).to_str().unwrap(), "test" ); } } #[test] fn string_from_slice() { unsafe { let data = "string"; let s = String::from_char_usize(data.begin_ptr(), data.len()); assert_eq!(s.length(), 6); assert_eq!( CStr::from_ptr(s.c_str().as_raw_ptr()).to_str().unwrap(), "string" ); } }