events: Fix quoting of multiline fallback messages
Previously, a '> ' was prepended only to the first line of the quoted message.
This commit is contained in:
		
							parent
							
								
									09acfb1b0b
								
							
						
					
					
						commit
						a875f39648
					
				| @ -978,6 +978,7 @@ fn get_plain_quote_fallback(original_message: &MessageEvent) -> String { | ||||
|             format!("> <{:?}> {}", original_message.sender, content.body) | ||||
|         } | ||||
|     } | ||||
|     .replace('\n', "\n> ") | ||||
| } | ||||
| 
 | ||||
| #[allow(clippy::nonstandard_macro_braces)] | ||||
| @ -1190,11 +1191,13 @@ fn formatted_or_plain_body<'a>(formatted: &'a Option<FormattedBody>, body: &'a s | ||||
| 
 | ||||
| #[cfg(test)] | ||||
| mod tests { | ||||
|     use std::convert::TryFrom; | ||||
| 
 | ||||
|     use matches::assert_matches; | ||||
|     use ruma_identifiers::event_id; | ||||
|     use ruma_identifiers::{event_id, EventId, RoomId, UserId}; | ||||
|     use serde_json::{from_value as from_json_value, json}; | ||||
| 
 | ||||
|     use super::{InReplyTo, MessageEventContent, MessageType, Relation}; | ||||
|     use super::{InReplyTo, MessageEvent, MessageEventContent, MessageType, Relation}; | ||||
| 
 | ||||
|     #[test] | ||||
|     fn deserialize_reply() { | ||||
| @ -1218,4 +1221,20 @@ mod tests { | ||||
|             } if event_id == ev_id | ||||
|         ); | ||||
|     } | ||||
| 
 | ||||
|     #[test] | ||||
|     fn plain_quote_fallback_multiline() { | ||||
|         let sender = UserId::try_from("@alice:example.com").unwrap(); | ||||
|         assert_eq!( | ||||
|             super::get_plain_quote_fallback(&MessageEvent { | ||||
|                 content: MessageEventContent::text_plain("multi\nline"), | ||||
|                 event_id: EventId::new(sender.server_name()), | ||||
|                 sender, | ||||
|                 origin_server_ts: ruma_common::MilliSecondsSinceUnixEpoch::now(), | ||||
|                 room_id: RoomId::try_from("!n8f893n9:example.com").unwrap(), | ||||
|                 unsigned: crate::Unsigned::new(), | ||||
|             }), | ||||
|             "> <@alice:example.com> multi\n> line" | ||||
|         ); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user