From fc2d646dd36fbfb9c2b35297afa3c65b80ad550d Mon Sep 17 00:00:00 2001 From: Will Hakes Date: Mon, 16 Mar 2020 12:48:50 -0600 Subject: [PATCH] Add `new_plain` constructor for TextMessageEventContent --- src/room/message.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/room/message.rs b/src/room/message.rs index 9dfbee23..57fe736c 100644 --- a/src/room/message.rs +++ b/src/room/message.rs @@ -706,6 +706,18 @@ impl_enum! { } } +impl TextMessageEventContent { + /// A convenience constructor to create a plain text message + pub fn new_plain(body: impl Into) -> TextMessageEventContent { + TextMessageEventContent { + body: body.into(), + format: None, + formatted_body: None, + relates_to: None, + } + } +} + impl Serialize for AudioMessageEventContent { fn serialize(&self, serializer: S) -> Result where @@ -1057,6 +1069,18 @@ mod tests { ); } + #[test] + fn plain_text() { + let message_event_content = MessageEventContent::Text(TextMessageEventContent::new_plain( + "> <@test:example.com> test\n\ntest reply", + )); + + assert_eq!( + to_string(&message_event_content).unwrap(), + r#"{"body":"> <@test:example.com> test\n\ntest reply","msgtype":"m.text"}"# + ); + } + #[test] fn relates_to_serialization() { let message_event_content = MessageEventContent::Text(TextMessageEventContent {