mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
Merge pull request #2111 from deltachat/add-subj-to-multimedia-msg
Add subject to multimedia message text
This commit is contained in:
@@ -394,7 +394,7 @@ impl MimeMessage {
|
||||
|
||||
if !subj.is_empty() {
|
||||
for part in self.parts.iter_mut() {
|
||||
if part.typ == Viewtype::Text {
|
||||
if !part.msg.is_empty() {
|
||||
part.msg = format!("{} – {}", subj, part.msg);
|
||||
break;
|
||||
}
|
||||
@@ -1420,7 +1420,14 @@ mod tests {
|
||||
#![allow(clippy::indexing_slicing)]
|
||||
|
||||
use super::*;
|
||||
use crate::test_utils::*;
|
||||
use crate::{
|
||||
chatlist::Chatlist,
|
||||
config::Config,
|
||||
constants::Blocked,
|
||||
dc_receive_imf::dc_receive_imf,
|
||||
message::{Message, MessageState, MessengerMessage},
|
||||
test_utils::*,
|
||||
};
|
||||
use mailparse::ParsedMail;
|
||||
|
||||
impl AvatarAction {
|
||||
@@ -2085,7 +2092,7 @@ MDYyMDYxNTE1RTlDOEE4Cj4+CnN0YXJ0eHJlZgo4Mjc4CiUlRU9GCg==
|
||||
|
||||
assert_eq!(message.parts.len(), 1);
|
||||
assert_eq!(message.parts[0].typ, Viewtype::File);
|
||||
assert_eq!(message.parts[0].msg, "Hello!");
|
||||
assert_eq!(message.parts[0].msg, "Mail with inline attachment – Hello!");
|
||||
}
|
||||
|
||||
#[async_std::test]
|
||||
@@ -2180,7 +2187,7 @@ CWt6wx7fiLp0qS9RrX75g6Gqw7nfCs6EcBERcIPt7DTe8VStJwf3LWqVwxl4gQl46yhfoqwEO+I=
|
||||
|
||||
assert_eq!(message.parts.len(), 1);
|
||||
assert_eq!(message.parts[0].typ, Viewtype::Image);
|
||||
assert_eq!(message.parts[0].msg, "Test");
|
||||
assert_eq!(message.parts[0].msg, "example – Test");
|
||||
}
|
||||
|
||||
#[async_std::test]
|
||||
@@ -2252,7 +2259,7 @@ CWt6wx7fiLp0qS9RrX75g6Gqw7nfCs6EcBERcIPt7DTe8VStJwf3LWqVwxl4gQl46yhfoqwEO+I=
|
||||
|
||||
assert_eq!(message.parts.len(), 1);
|
||||
assert_eq!(message.parts[0].typ, Viewtype::Image);
|
||||
assert_eq!(message.parts[0].msg, "Test");
|
||||
assert_eq!(message.parts[0].msg, "Test subject – Test");
|
||||
}
|
||||
|
||||
// Outlook specifies filename in the "name" attribute of Content-Type
|
||||
@@ -2326,7 +2333,7 @@ CWt6wx7fiLp0qS9RrX75g6Gqw7nfCs6EcBERcIPt7DTe8VStJwf3LWqVwxl4gQl46yhfoqwEO+I=
|
||||
|
||||
assert_eq!(message.parts.len(), 1);
|
||||
assert_eq!(message.parts[0].typ, Viewtype::Image);
|
||||
assert_eq!(message.parts[0].msg, "Test");
|
||||
assert_eq!(message.parts[0].msg, "Delta Chat is great stuff! – Test");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -2520,4 +2527,39 @@ On 2020-10-25, Bob wrote:
|
||||
assert_eq!(mimeparser.parts[0].msg, "YIPPEEEEEE\n\nMulti-line");
|
||||
assert_eq!(mimeparser.parts[0].param.get(Param::Quote).unwrap(), "Now?");
|
||||
}
|
||||
|
||||
#[async_std::test]
|
||||
async fn test_add_subj_to_multimedia_msg() {
|
||||
let t = TestContext::new_alice().await;
|
||||
t.set_config(Config::ShowEmails, Some("2")).await.unwrap();
|
||||
dc_receive_imf(
|
||||
&t.ctx,
|
||||
include_bytes!("../test-data/message/subj_with_multimedia_msg.eml"),
|
||||
"INBOX",
|
||||
1,
|
||||
false,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let chats = Chatlist::try_load(&t.ctx, 0, None, None).await.unwrap();
|
||||
let msg_id = chats.get_msg_id(0).unwrap();
|
||||
let msg = Message::load_from_db(&t.ctx, msg_id).await.unwrap();
|
||||
|
||||
assert_eq!(
|
||||
msg.text.as_ref().unwrap(),
|
||||
"subj with important info – body text"
|
||||
);
|
||||
assert_eq!(msg.viewtype, Viewtype::Image);
|
||||
assert_eq!(msg.error(), None);
|
||||
assert_eq!(msg.is_dc_message, MessengerMessage::No);
|
||||
assert_eq!(msg.chat_blocked, Blocked::Deaddrop);
|
||||
assert_eq!(msg.state, MessageState::InFresh);
|
||||
assert_eq!(msg.get_filebytes(&t).await, 2115);
|
||||
assert!(msg.get_file(&t).is_some());
|
||||
assert_eq!(msg.get_filename().unwrap(), "avatar64x64.png");
|
||||
assert_eq!(msg.get_width(), 64);
|
||||
assert_eq!(msg.get_height(), 64);
|
||||
assert_eq!(msg.get_filemime().unwrap(), "image/png");
|
||||
}
|
||||
}
|
||||
|
||||
67
test-data/message/subj_with_multimedia_msg.eml
Normal file
67
test-data/message/subj_with_multimedia_msg.eml
Normal file
@@ -0,0 +1,67 @@
|
||||
From: Hocuri <hocuri1@testrun.org>
|
||||
Subject: subj with important info
|
||||
To: alice@example.com
|
||||
Message-ID: <6e107266-b2bd-e87f-4996-29b000abcfb0@testrun.org>
|
||||
Date: Thu, 17 Dec 2020 15:38:45 +0100
|
||||
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
|
||||
Thunderbird/78.5.1
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="------------BC183726BE35A99129BAD65F"
|
||||
Content-Language: de-DE
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------BC183726BE35A99129BAD65F
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
body text
|
||||
|
||||
--------------BC183726BE35A99129BAD65F
|
||||
Content-Type: image/png;
|
||||
name="avatar64x64.png"
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: attachment;
|
||||
filename="avatar64x64.png"
|
||||
|
||||
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
|
||||
AElFTkSuQmCC
|
||||
--------------BC183726BE35A99129BAD65F--
|
||||
Reference in New Issue
Block a user