diff --git a/ruma-client-api/src/r0/membership/joined_members.rs b/ruma-client-api/src/r0/membership/joined_members.rs index 1999b37c..cc89b940 100644 --- a/ruma-client-api/src/r0/membership/joined_members.rs +++ b/ruma-client-api/src/r0/membership/joined_members.rs @@ -68,3 +68,37 @@ impl RoomMember { Default::default() } } + +#[cfg(test)] +mod test { + use super::RoomMember; + use matches::assert_matches; + use serde_json::{from_value as from_json_value, json}; + + #[test] + fn deserialize_room_member() { + assert_matches!( + from_json_value::(json!({ + "display_name": "alice", + "avatar_url": "mxc://localhost:wefuiwegh8742w", + })).unwrap(), + RoomMember { + display_name: Some(display_name), + avatar_url: Some(avatar_url), + } if display_name == "alice" + && avatar_url == "mxc://localhost:wefuiwegh8742w" + ); + + #[cfg(feature = "compat")] + assert_matches!( + from_json_value::(json!({ + "display_name": "alice", + "avatar_url": "", + })).unwrap(), + RoomMember { + display_name: Some(display_name), + avatar_url: None, + } if display_name == "alice" + ); + } +}