diff --git a/crates/ruma-common/src/push.rs b/crates/ruma-common/src/push.rs index ddf92c3d..4076fb5e 100644 --- a/crates/ruma-common/src/push.rs +++ b/crates/ruma-common/src/push.rs @@ -537,7 +537,7 @@ mod tests { assert_eq!(rule.unwrap().rule_id, ".m.rule.call"); let rule = set.override_.get(".m.rule.doesntexist"); - assert!(rule.is_none()); + assert_matches!(rule, None); } #[test] @@ -569,29 +569,29 @@ mod tests { let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) - if rule_id == ".m.rule.call" + AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, ".m.rule.call"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) - if rule_id == "!roomid:matrix.org" + AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, "!roomid:matrix.org"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) - if rule_id == ".m.rule.suppress_notices" + AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, ".m.rule.suppress_notices"); - assert!(iter.next().is_none()); + assert_matches!(iter.next(), None); } #[test] @@ -815,7 +815,7 @@ mod tests { #[test] fn deserialize_patterned_push_rule() { - let rule = from_json_value(json!({ + let rule = from_json_value::(json!({ "actions": [ "notify", { @@ -833,21 +833,18 @@ mod tests { "enabled": true })) .unwrap(); - assert_matches!( - rule, - PatternedPushRule { - actions: _, - default: true, - enabled: true, - pattern, - rule_id, - } - if pattern == "user_id" && rule_id == ".m.rule.contains_user_name" - ); + assert!(rule.default); + assert!(rule.enabled); + assert_eq!(rule.pattern, "user_id"); + assert_eq!(rule.rule_id, ".m.rule.contains_user_name"); let mut iter = rule.actions.iter(); assert_matches!(iter.next(), Some(Action::Notify)); - assert_matches!(iter.next(), Some(Action::SetTweak(Tweak::Sound(sound))) if sound == "default"); + let sound = assert_matches!( + iter.next(), + Some(Action::SetTweak(Tweak::Sound(sound))) => sound + ); + assert_eq!(sound, "default"); assert_matches!(iter.next(), Some(Action::SetTweak(Tweak::Highlight(true)))); assert_matches!(iter.next(), None); } @@ -912,53 +909,53 @@ mod tests { let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) - if rule_id == "!roomid:server.name" + AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, "!roomid:server.name"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) - if rule_id == ".m.rule.call" + AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, ".m.rule.call"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Content(PatternedPushRule { rule_id, .. }) - if rule_id == ".m.rule.contains_user_name" + AnyPushRule::Content(PatternedPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, ".m.rule.contains_user_name"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Content(PatternedPushRule { rule_id, .. }) - if rule_id == "ruma" + AnyPushRule::Content(PatternedPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, "ruma"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Room(SimplePushRule { rule_id, .. }) - if rule_id == "!roomid:server.name" + AnyPushRule::Room(SimplePushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, "!roomid:server.name"); let rule_opt = iter.next(); assert!(rule_opt.is_some()); - assert_matches!( + let rule_id = assert_matches!( rule_opt.unwrap(), - AnyPushRule::Underride(ConditionalPushRule { rule_id, .. }) - if rule_id == ".m.rule.room_one_to_one" + AnyPushRule::Underride(ConditionalPushRule { rule_id, .. }) => rule_id ); + assert_eq!(rule_id, ".m.rule.room_one_to_one"); - assert!(iter.next().is_none()); + assert_matches!(iter.next(), None); } #[test] @@ -1172,11 +1169,11 @@ mod tests { }); set.add(three_conditions); - assert_matches!( + let sound = assert_matches!( set.get_actions(&message, context_one_to_one), - [Action::SetTweak(Tweak::Sound(sound))] - if sound == "content" + [Action::SetTweak(Tweak::Sound(sound))] => sound ); + assert_eq!(sound, "content"); let new_message = serde_json::from_str::>( r#"{ @@ -1190,10 +1187,10 @@ mod tests { ) .unwrap(); - assert_matches!( + let sound = assert_matches!( set.get_actions(&new_message, context_one_to_one), - [Action::SetTweak(Tweak::Sound(sound))] - if sound == "three" + [Action::SetTweak(Tweak::Sound(sound))] => sound ); + assert_eq!(sound, "three"); } } diff --git a/crates/ruma-common/src/push/condition.rs b/crates/ruma-common/src/push/condition.rs index d6ed2c5d..96ad8c4c 100644 --- a/crates/ruma-common/src/push/condition.rs +++ b/crates/ruma-common/src/push/condition.rs @@ -311,7 +311,6 @@ impl FlattenedJson { mod tests { use std::collections::BTreeMap; - use crate::{room_id, serde::Raw, user_id}; use assert_matches::assert_matches; use js_int::{int, uint}; use maplit::btreemap; @@ -320,7 +319,7 @@ mod tests { }; use super::{FlattenedJson, PushCondition, PushConditionRoomCtx, RoomMemberCountIs, StrExt}; - use crate::power_levels::NotificationPowerLevels; + use crate::{power_levels::NotificationPowerLevels, room_id, serde::Raw, user_id}; #[test] fn serialize_event_match_condition() { @@ -382,11 +381,12 @@ mod tests { "kind": "event_match", "pattern": "m.notice" }); - assert_matches!( + let (key, pattern) = assert_matches!( from_json_value::(json_data).unwrap(), - PushCondition::EventMatch { key, pattern } - if key == "content.msgtype" && pattern == "m.notice" + PushCondition::EventMatch { key, pattern } => (key, pattern) ); + assert_eq!(key, "content.msgtype"); + assert_eq!(pattern, "m.notice"); } #[test] @@ -403,11 +403,11 @@ mod tests { "is": "2", "kind": "room_member_count" }); - assert_matches!( + let is = assert_matches!( from_json_value::(json_data).unwrap(), - PushCondition::RoomMemberCount { is } - if is == RoomMemberCountIs::from(uint!(2)) + PushCondition::RoomMemberCount { is } => is ); + assert_eq!(is, RoomMemberCountIs::from(uint!(2))); } #[test] @@ -416,12 +416,11 @@ mod tests { "key": "room", "kind": "sender_notification_permission" }); - assert_matches!( + let key = assert_matches!( from_json_value::(json_data).unwrap(), - PushCondition::SenderNotificationPermission { - key - } if key == "room" + PushCondition::SenderNotificationPermission { key } => key ); + assert_eq!(key, "room"); } #[test]