use freenet_stdlib::client_api::{ClientError, ErrorKind};
#[test]
fn errorkind_empty_ring_bincode_round_trip() {
let original: ClientError = ErrorKind::EmptyRing.into();
let bytes = bincode::serialize(&original).expect("serialize EmptyRing");
let decoded: ClientError = bincode::deserialize(&bytes).expect("deserialize EmptyRing");
assert!(
decoded.to_string().contains("ring"),
"EmptyRing should mention 'ring', got: {decoded}",
);
}
#[test]
fn errorkind_peer_not_joined_bincode_round_trip() {
let original: ClientError = ErrorKind::PeerNotJoined.into();
let bytes = bincode::serialize(&original).expect("serialize PeerNotJoined");
let decoded: ClientError = bincode::deserialize(&bytes).expect("deserialize PeerNotJoined");
assert!(
decoded.to_string().contains("joined"),
"PeerNotJoined should mention 'joined', got: {decoded}",
);
}
#[test]
fn host_result_err_bincode_round_trip() {
let result: Result<(), ClientError> = Err(ErrorKind::EmptyRing.into());
let bytes = bincode::serialize(&result).expect("serialize Err(EmptyRing)");
let decoded: Result<(), ClientError> =
bincode::deserialize(&bytes).expect("deserialize Err(EmptyRing)");
assert!(decoded.is_err());
assert!(
decoded.unwrap_err().to_string().contains("ring"),
"round-tripped error should preserve EmptyRing message",
);
}