#![cfg(feature = "codec")]
use secure_types::{DecodeError, EncodeError};
#[test]
fn test_every_error_variant_renders() {
let decode_variants = [
DecodeError::UnexpectedEnd,
DecodeError::InvalidVarint,
DecodeError::InvalidLength,
DecodeError::InvalidUtf8,
DecodeError::InvalidBool,
DecodeError::InvalidOptionTag,
DecodeError::InvalidChar,
DecodeError::UnsupportedVersion(1),
DecodeError::TrailingBytes { extra: 7 },
DecodeError::FrameMismatch { unconsumed: 3 },
DecodeError::Unsupported("deserialize_any"),
DecodeError::Custom,
];
for error in decode_variants {
let display = error.to_string();
let debug = format!("{error:?}");
assert!(!display.is_empty(), "empty Display for {debug}");
assert!(!debug.is_empty(), "empty Debug for {display}");
}
let encode_variants = [
EncodeError::Secure(secure_types::Error::AllocationFailed),
EncodeError::LengthOverflow,
EncodeError::ElementCountMismatch,
EncodeError::Unsupported("a bespoke Serialize trait"),
EncodeError::Custom,
];
for error in encode_variants {
let display = error.to_string();
let debug = format!("{error:?}");
assert!(!display.is_empty(), "empty Display for {debug}");
assert!(!debug.is_empty(), "empty Debug for {display}");
}
}