#![cfg(feature = "NSData")] use alloc::format; use crate::NSData; #[test] fn test_bytes() { let bytes = [3, 7, 16, 52, 112, 19]; let data = NSData::with_bytes(&bytes); assert_eq!(data.len(), bytes.len()); assert_eq!(data.to_vec(), bytes); } #[test] fn test_no_bytes() { let data = NSData::new(); assert!(Some(data.to_vec()).is_some()); } #[cfg(feature = "block2")] #[test] fn test_from_vec() { let bytes = alloc::vec![3, 7, 16]; let bytes_ptr = bytes.as_ptr(); let data = NSData::from_vec(bytes); assert_eq!(unsafe { data.as_bytes_unchecked() }.as_ptr(), bytes_ptr); } #[test] fn test_debug() { let bytes = [3, 7, 16, 52, 112, 19]; let data = NSData::with_bytes(&bytes); assert_eq!(format!("{data:?}"), "[3, 7, 16, 52, 112, 19]"); } #[cfg(feature = "block2")] #[test] fn test_collect() { let bytes = [3, 7, 16, 52, 112, 19]; let data: objc2::rc::Retained = bytes.into_iter().collect(); assert_eq!(format!("{data:?}"), "[3, 7, 16, 52, 112, 19]"); }