diff options
Diffstat (limited to 'comm/mail/test/browser/composition/browser_forwardRFC822Attach.js')
-rw-r--r-- | comm/mail/test/browser/composition/browser_forwardRFC822Attach.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/comm/mail/test/browser/composition/browser_forwardRFC822Attach.js b/comm/mail/test/browser/composition/browser_forwardRFC822Attach.js new file mode 100644 index 0000000000..2bcd136aa2 --- /dev/null +++ b/comm/mail/test/browser/composition/browser_forwardRFC822Attach.js @@ -0,0 +1,71 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * Tests that attached messages (message/rfc822) are correctly sent. + * It's easiest to test the forward case. + */ + +"use strict"; + +var { + close_compose_window, + get_msg_source, + open_compose_with_forward_as_attachments, + save_compose_message, +} = ChromeUtils.import("resource://testing-common/mozmill/ComposeHelpers.jsm"); +var { + be_in_folder, + get_special_folder, + mc, + open_message_from_file, + press_delete, + select_click_row, +} = ChromeUtils.import( + "resource://testing-common/mozmill/FolderDisplayHelpers.jsm" +); +var { close_window } = ChromeUtils.import( + "resource://testing-common/mozmill/WindowHelpers.jsm" +); + +var { MailServices } = ChromeUtils.import( + "resource:///modules/MailServices.jsm" +); + +var gDrafts; + +add_setup(async function () { + gDrafts = await get_special_folder(Ci.nsMsgFolderFlags.Drafts, true); +}); + +async function forwardDirect(aFilePath, aExpectedText) { + let file = new FileUtils.File(getTestFilePath(`data/${aFilePath}`)); + let msgc = await open_message_from_file(file); + + let cwc = open_compose_with_forward_as_attachments(msgc); + + await save_compose_message(cwc.window); + close_compose_window(cwc); + close_window(msgc); + + await be_in_folder(gDrafts); + let draftMsg = select_click_row(0); + + let draftMsgContent = await get_msg_source(draftMsg); + + Assert.ok( + draftMsgContent.includes(aExpectedText), + "Failed to find expected text" + ); + + press_delete(mc); // clean up the created draft +} + +add_task(async function test_forwarding_long_html_line_as_attachment() { + await forwardDirect("./long-html-line.eml", "We like writing long lines."); +}); + +add_task(async function test_forwarding_feed_message_as_attachment() { + await forwardDirect("./feed-message.eml", "We like using linefeeds only."); +}); |