diff options
Diffstat (limited to 'comm/mail/test/browser/composition/head.js')
-rw-r--r-- | comm/mail/test/browser/composition/head.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/comm/mail/test/browser/composition/head.js b/comm/mail/test/browser/composition/head.js new file mode 100644 index 0000000000..7b37c05ca0 --- /dev/null +++ b/comm/mail/test/browser/composition/head.js @@ -0,0 +1,65 @@ +/* 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/. */ + +var { MailServices } = ChromeUtils.import( + "resource:///modules/MailServices.jsm" +); +var utils = ChromeUtils.import("resource://testing-common/mozmill/utils.jsm"); + +registerCleanupFunction(() => { + for (let book of MailServices.ab.directories) { + if ( + ["ldap_2.servers.history", "ldap_2.servers.pab"].includes(book.dirPrefId) + ) { + let cards = book.childCards; + if (cards.length > 0) { + info(`Cleaning up ${cards.length} card(s) from ${book.dirName}`); + for (let card of cards) { + if (card.isMailList) { + MailServices.ab.deleteAddressBook(card.mailListURI); + } + } + cards = cards.filter(c => !c.isMailList); + if (cards.length > 0) { + book.deleteCards(cards); + } + } + is(book.childCards.length, 0); + } else { + Assert.report(true, undefined, undefined, "Unexpected address book!"); + MailServices.ab.deleteAddressBook(book.URI); + } + } + + Services.focus.focusedWindow = window; + let mailButton = document.getElementById("mailButton"); + mailButton.focus(); + mailButton.blur(); +}); + +/** + * Get the body part of an MIME message. + * + * @param {string} content - The message content. + * @returns {string} + */ +function getMessageBody(content) { + let separatorIndex = content.indexOf("\r\n\r\n"); + Assert.equal(content.slice(-2), "\r\n", "Should end with a line break."); + return content.slice(separatorIndex + 4, -2); +} + +async function chooseIdentity(win, identityKey) { + let popup = win.document.getElementById("msgIdentityPopup"); + let shownPromise = BrowserTestUtils.waitForEvent(popup, "popupshown"); + EventUtils.synthesizeMouseAtCenter( + win.document.getElementById("msgIdentity"), + {}, + win + ); + await shownPromise; + let hiddenPromise = BrowserTestUtils.waitForEvent(popup, "popuphidden"); + popup.activateItem(popup.querySelector(`[identitykey="${identityKey}"]`)); + await hiddenPromise; +} |