Geary.RFC822.Message: Work around long HTML lines exceeding SMTP max len
This commit is contained in:
parent
4285cafa01
commit
42152d00ba
1 changed files with 56 additions and 2 deletions
|
|
@ -57,9 +57,11 @@ This is the second line.
|
|||
add_test("get_recipients", get_recipients);
|
||||
add_test("get_searchable_body", get_searchable_body);
|
||||
add_test("get_searchable_recipients", get_searchable_recipients);
|
||||
add_test("get_network_buffer", get_network_buffer);
|
||||
add_test("from_composed_email", from_composed_email);
|
||||
add_test("from_composed_email_inline_attachments", from_composed_email_inline_attachments);
|
||||
add_test("get_network_buffer", get_network_buffer);
|
||||
add_test("get_network_buffer_dot_stuff", get_network_buffer_dot_stuff);
|
||||
add_test("get_network_buffer_long_ascii_line", get_network_buffer_long_ascii_line);
|
||||
}
|
||||
|
||||
public void basic_message_from_buffer() throws Error {
|
||||
|
|
@ -210,10 +212,62 @@ This is the second line.
|
|||
|
||||
public void get_network_buffer() throws Error {
|
||||
Message test = resource_to_message(BASIC_TEXT_PLAIN);
|
||||
Memory.Buffer buffer = test.get_network_buffer(true);
|
||||
Memory.Buffer buffer = test.get_network_buffer(true);
|
||||
assert_true(buffer.to_string() == NETWORK_BUFFER_EXPECTED, "Network buffer differs");
|
||||
}
|
||||
|
||||
public void get_network_buffer_dot_stuff() throws GLib.Error {
|
||||
RFC822.MailboxAddress to = new RFC822.MailboxAddress(
|
||||
"Test", "test@example.com"
|
||||
);
|
||||
RFC822.MailboxAddress from = new RFC822.MailboxAddress(
|
||||
"Sender", "sender@example.com"
|
||||
);
|
||||
Geary.ComposedEmail composed = new Geary.ComposedEmail(
|
||||
new GLib.DateTime.now_local(),
|
||||
new Geary.RFC822.MailboxAddresses.single(from)
|
||||
).set_to(new Geary.RFC822.MailboxAddresses.single(to));
|
||||
composed.body_text = ".newline\n.\n";
|
||||
|
||||
this.message_from_composed_email.begin(
|
||||
composed,
|
||||
async_complete_full
|
||||
);
|
||||
Geary.RFC822.Message message = message_from_composed_email.end(async_result());
|
||||
|
||||
string message_data = message.get_network_buffer(true).to_string();
|
||||
print("\n'%s'\n", message_data);
|
||||
assert_true(message_data.has_suffix("..newline\r\n..\r\n"));
|
||||
}
|
||||
|
||||
public void get_network_buffer_long_ascii_line() throws GLib.Error {
|
||||
RFC822.MailboxAddress to = new RFC822.MailboxAddress(
|
||||
"Test", "test@example.com"
|
||||
);
|
||||
RFC822.MailboxAddress from = new RFC822.MailboxAddress(
|
||||
"Sender", "sender@example.com"
|
||||
);
|
||||
Geary.ComposedEmail composed = new Geary.ComposedEmail(
|
||||
new GLib.DateTime.now_local(),
|
||||
new Geary.RFC822.MailboxAddresses.single(from)
|
||||
).set_to(new Geary.RFC822.MailboxAddresses.single(to));
|
||||
composed.body_text = """
|
||||
long long long long long long long long long long long long long long long long long
|
||||
""";
|
||||
composed.body_html = "<p>%s<p>".printf(composed.body_text);
|
||||
|
||||
this.message_from_composed_email.begin(
|
||||
composed,
|
||||
async_complete_full
|
||||
);
|
||||
Geary.RFC822.Message message = message_from_composed_email.end(async_result());
|
||||
|
||||
string message_data = message.get_network_buffer(true).to_string();
|
||||
foreach (var line in message_data.split("\n")) {
|
||||
assert_true(line.length < 80, line);
|
||||
}
|
||||
}
|
||||
|
||||
public void from_composed_email() throws GLib.Error {
|
||||
RFC822.MailboxAddress to = new RFC822.MailboxAddress(
|
||||
"Test", "test@example.com"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue