| 19 | #[test] |
| 20 | #[cfg(feature = "alloc")] |
| 21 | fn derive_struct_test() { |
| 22 | #[derive(Zeroize, ZeroizeOnDrop)] |
| 23 | struct Z { |
| 24 | string: String, |
| 25 | vec: Vec<u8>, |
| 26 | bytearray: [u8; 3], |
| 27 | number: usize, |
| 28 | boolean: bool, |
| 29 | } |
| 30 | |
| 31 | let mut value = Z { |
| 32 | string: String::from("Hello, world!"), |
| 33 | vec: vec![1, 2, 3], |
| 34 | bytearray: [4, 5, 6], |
| 35 | number: 42, |
| 36 | boolean: true, |
| 37 | }; |
| 38 | |
| 39 | value.zeroize(); |
| 40 | |
| 41 | assert!(value.string.is_empty()); |
| 42 | assert!(value.vec.is_empty()); |
| 43 | assert_eq!(&value.bytearray, &[0, 0, 0]); |
| 44 | assert_eq!(value.number, 0); |
| 45 | assert!(!value.boolean); |
| 46 | } |
| 47 | |
| 48 | #[test] |
| 49 | fn derive_enum_test() { |