From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../test_viewWrapper_virtualFolderCustomTerm.js | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 comm/mail/base/test/unit/test_viewWrapper_virtualFolderCustomTerm.js (limited to 'comm/mail/base/test/unit/test_viewWrapper_virtualFolderCustomTerm.js') diff --git a/comm/mail/base/test/unit/test_viewWrapper_virtualFolderCustomTerm.js b/comm/mail/base/test/unit/test_viewWrapper_virtualFolderCustomTerm.js new file mode 100644 index 0000000000..29890db68b --- /dev/null +++ b/comm/mail/base/test/unit/test_viewWrapper_virtualFolderCustomTerm.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/. */ + +/** + * Test DBViewWrapper against a virtual folder with a custom search term. + * + * This test uses an imap message to specifically test the issues from + * bug 549336. The code is derived from test_viewWrapper_virtualFolder.js + * + * Original author: Kent James + */ + +/* import-globals-from resources/viewWrapperTestUtils.js */ +load("resources/viewWrapperTestUtils.js"); + +var { MailServices } = ChromeUtils.import( + "resource:///modules/MailServices.jsm" +); + +initViewWrapperTestUtils({ mode: "imap", offline: false }); + +/** + * A custom search term, that just does Subject Contains + */ +var gCustomSearchTermSubject = { + id: "mailnews@mozilla.org#test", + name: "Test-mailbase Subject", + getEnabled(scope, op) { + return true; + }, + getAvailable(scope, op) { + return true; + }, + getAvailableOperators(scope) { + return [Ci.nsMsgSearchOp.Contains]; + }, + match(aMsgHdr, aSearchValue, aSearchOp) { + return aMsgHdr.subject.includes(aSearchValue); + }, + needsBody: false, +}; + +MailServices.filters.addCustomTerm(gCustomSearchTermSubject); + +/** + * Make sure we open a virtual folder backed by a single underlying folder + * correctly, with a custom search term. + */ +add_task(async function test_virtual_folder_single_load_custom_pred() { + let viewWrapper = make_view_wrapper(); + + let [[folderOne], oneSubjFoo] = await messageInjection.makeFoldersWithSets( + 1, + [{ subject: "foo" }, {}] + ); + + let virtFolder = messageInjection.makeVirtualFolder(folderOne, { + custom: "foo", + }); + + await view_open(viewWrapper, virtFolder); + + verify_messages_in_view(oneSubjFoo, viewWrapper); +}); -- cgit v1.2.3