diff options
Diffstat (limited to '')
-rw-r--r-- | comm/mailnews/base/test/unit/test_nsIFolderListener.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/comm/mailnews/base/test/unit/test_nsIFolderListener.js b/comm/mailnews/base/test/unit/test_nsIFolderListener.js new file mode 100644 index 0000000000..aa1b19ecfb --- /dev/null +++ b/comm/mailnews/base/test/unit/test_nsIFolderListener.js @@ -0,0 +1,45 @@ +/* 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/. */ + +/* + * Test that adding nsIFolderListener in js does not cause any crash. + */ + +var { MessageGenerator } = ChromeUtils.import( + "resource://testing-common/mailnews/MessageGenerator.jsm" +); +var { MessageInjection } = ChromeUtils.import( + "resource://testing-common/mailnews/MessageInjection.jsm" +); + +var folderListener = { + onFolderAdded() {}, + onMessageAdded() {}, + onFolderRemoved() {}, + onMessageRemoved() {}, + onFolderPropertyChanged() {}, + onFolderIntPropertyChanged() {}, + onFolderBoolPropertyChanged() {}, + onFolderUnicharPropertyChanged() {}, + onFolderPropertyFlagChanged() {}, + onFolderEvent() {}, +}; + +var targetFolder; +var messageInjection; + +add_setup(async function () { + let msgGen = new MessageGenerator(); + messageInjection = new MessageInjection({ mode: "local" }, msgGen); + + targetFolder = await messageInjection.makeEmptyFolder(); + targetFolder.AddFolderListener(folderListener); + registerCleanupFunction(function () { + targetFolder.RemoveFolderListener(folderListener); + }); +}); + +add_task(async function create_new_message() { + await messageInjection.makeNewSetsInFolders([targetFolder], [{ count: 1 }]); +}); |