[geary/mjog/771-html-not-wrapped-on-send: 1/3] Geary.RFC822.Message: Work around long HTML lines exceeding SMTP max len
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/mjog/771-html-not-wrapped-on-send: 1/3] Geary.RFC822.Message: Work around long HTML lines exceeding SMTP max len
- Date: Sun, 29 Mar 2020 05:32:49 +0000 (UTC)
commit 42152d00baac8832308e29ec51bb864abcb696d5
Author: Michael Gratton <mike vee net>
Date: Sun Mar 29 09:51:17 2020 +1100
Geary.RFC822.Message: Work around long HTML lines exceeding SMTP max len
test/engine/rfc822-message-test.vala | 58 ++++++++++++++++++++++++++++++++++--
1 file changed, 56 insertions(+), 2 deletions(-)
---
diff --git a/test/engine/rfc822-message-test.vala b/test/engine/rfc822-message-test.vala
index 48b4bef0..c99865f9 100644
--- a/test/engine/rfc822-message-test.vala
+++ b/test/engine/rfc822-message-test.vala
@@ -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"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]