diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js')
-rw-r--r-- | comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js b/comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js new file mode 100644 index 0000000000..e81e5a120d --- /dev/null +++ b/comm/mailnews/imap/test/unit/test_imapStatusCloseDBs.js @@ -0,0 +1,49 @@ +/* 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/. */ + +// This file tests that checking folders for new mail with STATUS +// doesn't leave db's open. + +var { PromiseTestUtils } = ChromeUtils.import( + "resource://testing-common/mailnews/PromiseTestUtils.jsm" +); + +var gFolder1, gFolder2; + +add_setup(function () { + Services.prefs.setBoolPref("mail.check_all_imap_folders_for_new", true); + Services.prefs.setIntPref("mail.server.server1.max_cached_connections", 2); + + setupIMAPPump(); + + IMAPPump.daemon.createMailbox("folder 1", { subscribed: true }); + IMAPPump.daemon.createMailbox("folder 2", { subscribed: true }); + + IMAPPump.server.performTest("SUBSCRIBE"); + + let rootFolder = IMAPPump.incomingServer.rootFolder; + gFolder1 = rootFolder.getChildNamed("folder 1"); + gFolder2 = rootFolder.getChildNamed("folder 2"); + + IMAPPump.inbox.getNewMessages(null, null); + IMAPPump.server.performTest("STATUS"); + Assert.ok(IMAPPump.server.isTestFinished()); + // don't know if this will work, but we'll try. Wait for + // second status response + IMAPPump.server.performTest("STATUS"); + Assert.ok(IMAPPump.server.isTestFinished()); +}); + +add_task(function check() { + const gDbService = Cc["@mozilla.org/msgDatabase/msgDBService;1"].getService( + Ci.nsIMsgDBService + ); + Assert.ok(gDbService.cachedDBForFolder(IMAPPump.inbox) !== null); + Assert.ok(gDbService.cachedDBForFolder(gFolder1) === null); + Assert.ok(gDbService.cachedDBForFolder(gFolder2) === null); +}); + +add_task(function endTest() { + teardownIMAPPump(); +}); |