use polyc_proto::proto::polychrome::events::v1::IncognitoSetEvent;
#[must_use]
pub fn fold_incognito_set(payload: &[u8]) -> Option<IncognitoSetEvent> {
polyc_proto::events_decode::decode_event_payload(payload)
}
#[cfg(test)]
mod tests {
#![allow(clippy::pedantic, clippy::nursery, missing_docs, clippy::unwrap_used)]
use buffa::Message as _;
use super::*;
#[test]
fn round_trips_an_incognito_set_payload() {
let event = IncognitoSetEvent {
on: true,
__buffa_unknown_fields: buffa::UnknownFields::default(),
};
let bytes = event.encode_to_vec();
let decoded = fold_incognito_set(&bytes).expect("decode incognito_set");
assert!(decoded.on);
}
#[test]
fn empty_payload_decodes_to_defaults() {
let decoded = fold_incognito_set(&[]).expect("empty payload decodes");
assert!(!decoded.on);
}
#[test]
fn garbage_bytes_do_not_decode() {
assert!(fold_incognito_set(&[0xFF, 0xFE, 0xFD]).is_none());
}
}