| head_imap_maildir.js |
import-globals-from head_server.js |
213 |
- |
| head_server.js |
@param {object} fromServer - Object got from server.playTransaction()
@param {string[]} fromServer.us - Commands from us.
@param {string[]} fromServer.them - Commands from them.
@param {string[]} expected - Expected commands like ["command", "command", ...]
@param {boolean} withParams - if false,
everything apart from the IMAP command will the stripped.
E.g. 'lsub "" "*"' will be compared as 'lsub'.
Exception is "authenticate", which also get its first parameter in upper case,
e.g. "authenticate CRAM-MD5".
|
8068 |
- |
| test_autosync_date_constraints.js |
Test autosync date constraints
|
4755 |
- |
| test_autosync_stops.js |
Tests that folders which cease to exist do not break the autosync timer
callback and keep the timer running.
|
3814 |
- |
| test_bccProperty.js |
Test to ensure that BCC gets added to message headers on IMAP download
adapted from test_downloadOffline.js
original author Kent James <kent@caspia.com>
|
1547 |
- |
| test_bug460636.js |
Test bug 460636 - nsMsgSaveAsListener sometimes inserts extra LF characters
|
2789 |
- |
| test_chunkLastLF.js |
Test content length for the IMAP protocol. This focuses on necko URLs
that are run externally.
|
4461 |
- |
| test_compactOfflineStore.js |
Test to ensure that compacting offline stores works correctly with imap folders
and returns success.
|
6782 |
- |
| test_converterImap.js |
|
3751 |
- |
| test_copyThenMove.js |
This file extends test_imapFolderCopy.js to test message
moves from a local folder to an IMAP folder.
Original Author: Kent James <kent@caspia.com>
|
5673 |
- |
| test_customCommandReturnsFetchResponse.js |
Test to ensure that imap customCommandResult function works properly
Bug 778246
|
4197 |
- |
| test_dontStatNoSelect.js |
Tests that checking folders for new mail with STATUS
doesn't try to STAT noselect folders.
|
5412 |
- |
| test_downloadOffline.js |
Test to ensure that downloadAllForOffline works correctly with imap folders
and returns success.
|
5140 |
- |
| test_fetchCustomAttribute.js |
Test to ensure that imap fetchCustomMsgAttribute function works properly
|
3308 |
- |
| test_fetchCustomAttributeMalformed.js |
Test that fetchCustomMsgAttribute handles a FETCH response where the
custom attribute has no value before the end of the line.
|
1755 |
- |
| test_fetchWhileLocked.js |
|
4191 |
- |
| test_filterCustomHeaders.js |
This file tests hdr parsing in the filter running context, specifically
filters on custom headers.
See https://bugzilla.mozilla.org/show_bug.cgi?id=655578
for more info.
Original author: David Bienvenu <bienvenu@mozilla.com>
|
2245 |
- |
| test_filterNeedsBody.js |
This file tests the needsBody attribute added to a
custom filter action in bug 555051.
Original author: Kent James <kent@caspia.com>
adapted from test_imapFilterActions.js
|
3030 |
- |
| test_folderNamesImap.js |
Tests folders which should have a localised name that is different from the
folder's name, when those folders come from an IMAP server.
|
4691 |
- |
| test_folderNamesImap_preffedOff.js |
Tests folders which should have a localised name that is different from the
folder's name, when those folders come from an IMAP server.
This version of the test runs with mail.useLocalizedFolderNames set to false.
|
4240 |
- |
| test_folderOfflineFlags.js |
Test that the folders that should get flagged for offline use do, and that
those that shouldn't don't.
|
3511 |
- |
| test_gmailAttributes.js |
Test to ensure that, in case of GMail server, fetching of custom GMail
attributes works properly.
Bug 721316
See https://bugzilla.mozilla.org/show_bug.cgi?id=721316
for more info.
Original Author: Atul Jangra<atuljangra66@gmail.com>
|
2879 |
- |
| test_gmailOfflineMsgStore.js |
Test to ensure that, in case of GMail server, fetching of a message, which is
already present in offline store of some folder, from a folder doesn't make
us add it to the offline store twice(in this case, in general it can be any
number of times).
Bug 721316
See https://bugzilla.mozilla.org/show_bug.cgi?id=721316
for more info.
Original Author: Atul Jangra<atuljangra66@gmail.com>
|
7011 |
- |
| test_ignoreSubscription.js |
Tests that new top level folders and subfolders of Inbox are discovered when
subscriptions are ignored.
|
2245 |
- |
| test_imapAlertRepeated.js |
Test that the same [ALERT] sent repeatedly on a connection is only shown
once, while a different one is still shown.
|
1795 |
- |
| test_imapAttachmentSaves.js |
Tests imap save and detach attachments.
This should closely match
mailnews/protocols/exchange/test/unit/test_ewsAttachmentSaves.js
|
4906 |
- |
| test_imapAuthStaleChallenge.js |
Regression test for an auth method reusing the challenge of an earlier
failed method: CRAM-MD5 gets a challenge but is rejected, then NTLM gets a
tagged OK instead of a challenge. NTLM must fail instead of answering the
CRAM-MD5 challenge.
server.performTest() runs until the client closes the connection, which it
does once both methods have failed, and the transaction then lists the
commands the client sent. The tokens sent in answer to a "+" continuation
are not recorded, but after the tagged OK the fake server no longer expects
any, so an NTLM answer to the old challenge is recorded as an extra command
after AUTHENTICATE NTLM, which fails the transaction check. Before the fix,
that is what happened.
|
2512 |
- |
| test_imapAutoSync.js |
|
7870 |
- |
| test_imapBiff.js |
Wait until the client connection for a mailbox is in RFC 2177 IDLE.
@param {string} mailboxName
|
10271 |
- |
| test_imapChunks.js |
Test bug 92111 - imap download-by-chunks doesn't download complete file if the
server lies about rfc822.size (known to happen for Exchange and gmail)
|
4143 |
- |
| test_imapClientid.js |
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ |
1621 |
- |
| test_imapContentLength.js |
Test content length for the IMAP protocol. This focuses on necko URLs
that are run externally.
|
3177 |
- |
| test_imapCopyTimeout.js |
import-globals-from ../../../test/resources/alertTestUtils.js |
4088 |
- |
| test_imapCramMD5NoChallenge.js |
Regression test for a server answering AUTHENTICATE CRAM-MD5 with a tagged
OK instead of a "+" challenge. The login must now just fail.
|
1213 |
- |
| test_imapFilterActions.js |
This file tests imap filter actions, particularly as affected by the
addition of body searches in bug 127250. Actions that involves sending
mail are not tested. The tests check various counts, and the effects
on the message database of the filters. Effects on IMAP server
flags, if any, are not tested.
Original author: Kent James <kent@caspia.com>
adapted from test_localToImapFilter.js
|
19295 |
- |
| test_imapFilterActionsPostplugin.js |
This file tests imap filter actions post-plugin, which uses nsMsgFilterAfterTheFact
Original author: Kent James <kent@caspia.com>
adapted from test_imapFilterActions.js
|
13164 |
- |
| test_imapFilterCopyFailure.js |
Test that a failed incoming IMAP filter copy keeps the source message and
prevents the later destructive move.
|
7051 |
- |
| test_imapFilterCopyThenDelete.js |
Test that incoming IMAP filters finish copying every message before
marking any source message deleted.
|
4679 |
- |
| test_imapFilterCopyThenMove.js |
Test that incoming IMAP filters finish copying every message before a
destructive move of the source messages begins.
|
5745 |
- |
| test_imapFlagChange.js |
Test to ensure that imap flag changes made from a different profile/machine
are stored in db.
|
7086 |
- |
| test_imapFolderCopy.js |
|
6248 |
- |
| test_imapHdrStreaming.js |
This test checks if the imap message service code streams headers correctly.
It checks that streaming headers for messages stored for offline use works.
It doesn't test streaming messages that haven't been stored for offline use
because that's not implemented yet, and it's unclear if anyone will want it.
|
2857 |
- |
| test_imapHighWater.js |
import-globals-from ../../../test/resources/alertTestUtils.js |
7261 |
- |
| test_imapHugeFetchIndex.js |
Regression test for unsolicited FETCH responses with huge sequence
numbers, sent with the response to CAPABILITY:
* 16777217 FETCH (UID 1 FLAGS ())<CR><LF>
* 1073741823 FETCH (UID 1 FLAGS ())<CR><LF>
The responses must now be ignored, leaving the connection usable.
|
1389 |
- |
| test_imapID.js |
Test to ensure that we handle the RFC2197 ID command.
|
1373 |
- |
| test_imapIDLiteralParenGroup.js |
Regression test for bug 2057805: a server ID response whose paren group
contains a literal that exactly fills its line used to leave
nsImapGenericParser::CreateParenGroup() reading from a freed tokenizer
buffer (heap-use-after-free). The crafted response below reproduces that
exact shape; parsing it must complete cleanly and land the parsed value in
the serverIDResponse pref.
On the wire the server emits:
* ID ({4}<CR><LF>
ab<CR><LF>
)<CR><LF>
where {4} is a literal of the four octets 'a', 'b', CR, LF -- i.e. the
literal length equals the whole "ab\r\n" line including its CRLF, which is
what triggered the use-after-free.
|
2561 |
- |
| test_imapIDNoParenGroup.js |
Regression test for an untagged ID response with no argument at all:
* ID<CR><LF>
nsImapServerResponseParser::id_data() used to hand that to
CreateParenGroup(), which assumed fNextToken pointed into the tokenizer
buffer. At end of line AdvanceToNextToken() instead hands out the static
CRLF literal, so the tokenizer got advanced by the distance between two
unrelated objects and was then dereferenced (wild pointer read). Parsing
such a response must now just be a syntax error, leaving the connection
usable.
|
2100 |
- |
| test_imapMailboxNameRoundTrip.js |
Tests that every mailbox the server lists is selected under the name the
server gave it. AllocateCanonicalPath() maps that name into the folder
tree and AllocateServerPath() maps it back; each keeps its own rules about
namespace prefixes and the server directory, and nothing else checks that
they agree (bug 2005701).
|
3702 |
- |
| test_imapMove.js |
import-globals-from ../../../test/resources/logHelper.js |
2724 |
- |
| test_imapMoveDuringMove.js |
Moving messages between two folders of the same IMAP account used to lose
them when a second move was requested while the first one was still being
carried out: they vanished from both folders in the client while they were
still sitting in the source folder on the server (bug 624082).
The test moves messages the way a user does and then looks at the server.
|
2516 |
- |
| test_imapMoveKeepsFlags.js |
Moving messages has to carry their read state and their star along. Skipped
until bug 2065078: the fake server builds a copied message's flag list out of
the array's indices, so no flag survives a COPY there.
|
1738 |
- |
| test_imapMoveWhileOffline.js |
A message moved while offline has to reach the server once the client is
back online, even when other changes were made offline as well. It used to
be dropped in the client instead (bug 624082).
|
1986 |
- |
| test_imapMyRightsNoSelectedMailbox.js |
Regression test for an unsolicited MYRIGHTS response code arriving before
any mailbox has been selected:
* OK [MYRIGHTS lrswipkxtecda] hi<CR><LF>
The response code must now be ignored, leaving the connection usable.
|
1288 |
- |
| test_imapMyRightsResponseCode.js |
Test that the rights from a MYRIGHTS response code are applied to the
selected folder without the closing bracket:
* OK [MYRIGHTS lrswipkxtecda] Rights<CR><LF>
|
1816 |
- |
| test_imapNamespaceComma.js |
Regression test for loading an IMAP server whose saved namespace has a
prefix containing a comma, as stored after a server answered NAMESPACE with
such a prefix.
|
1157 |
- |
| test_imapNamespaceRootMailbox.js |
Tests that messages and folders can be moved into the root mailbox of a
namespace, named like the prefix without its trailing delimiter
(bug 2005701).
|
3224 |
- |
| test_imapNtlmNoChallenge.js |
Regression test for a server answering AUTHENTICATE NTLM without a usable
challenge on the second leg, either with a tagged OK or with a challenge
that is only base64 padding. The login must just fail.
server.performTest() runs until the client closes the connection, which it
does once the login has failed, and the transaction then lists the commands
the client sent. A failed login shows up as nothing after AUTHENTICATE NTLM:
- after a successful login the client would go on to list the folders;
- a client that neither logs in nor gives up makes the fake server time
out, which playTransaction() reports as an error;
- before the fix, the client crashed while answering the second leg.
The NTLM tokens are sent as continuation lines, which the fake server
doesn't record, so they are not part of the transaction.
|
2432 |
- |
| test_imapOAuth2Shutdown.js |
|
1625 |
- |
| test_imapPasswordFailure.js |
This test checks to see if the imap password failure is handled correctly.
The steps are:
- Have an invalid password in the password database.
- Check we get a prompt asking what to do.
- Check retry does what it should do.
- Check cancel does what it should do.
- Re-initiate connection, this time select enter new password, check that
we get a new password prompt and can enter the password.
|
4991 |
- |
| test_imapPreAuthUntaggedIgnored.js |
Test that untagged responses that don't apply before authentication are
ignored when sent before login.
|
1659 |
- |
| test_imapProtocols.js |
Test suite for IMAP nsIProtocolHandler implementations.
|
1725 |
- |
| test_imapProxy.js |
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ |
2465 |
- |
| test_imapRename.js |
|
10534 |
- |
| test_imapSearch.js |
Tests traditional (non-gloda) search on IMAP folders.
Derived from a combination of test_imapPump.js and test_search.js
Original author: Kent James <kent@caspia.com>
|
8011 |
- |
| test_imapSelectFailedMyRights.js |
Test that a failed SELECT leaves no mailbox selected, so an unsolicited
MYRIGHTS response code sent later on the connection isn't applied to the
folder that failed to open.
|
2353 |
- |
| test_imapStartTLS.js |
Tests connecting with STARTTLS, and that what the server sent in plaintext
before the TLS handshake, which could have been injected, is not used.
|
6456 |
- |
| test_imapStatusCloseDBs.js |
|
1709 |
- |
| test_imapStoreMsgOffline.js |
This test checks that the imap code saves message to
offline stores correctly when streamed, and doesn't store
duplicate copies when downloadMessagesForOffline() is called.
|
3633 |
- |
| test_imapTruncatedOfflineBody.js |
Tests that a truncated chunked body download is not stored as a complete
offline message.
When a message body is downloaded in chunks and the server stops delivering
data partway through without any protocol error (e.g. a premature connection
close), the short chunk must not be treated as the final chunk and stored as
a *complete* offline copy (nsMsgMessageFlags::Offline). Doing so would mean
the message is never re-fetched and the user silently sees a truncated
message (e.g. missing attachments). Instead, the download must be detected as
incomplete -- fewer octets received than the server announced in RFC822.SIZE
-- and aborted, so the partial copy is discarded and re-fetched on next
access.
The test uses the fakeserver's `_truncateBodyAt` hook to simulate the
truncation while keeping RFC822.SIZE reporting the true (larger) size; this
is distinct from the wrong-RFC822.SIZE case (where the server under-reports
the size, covered by bug 92111).
See bug 770888 for the original report.
|
6509 |
- |
| test_imapUndo.js |
|
5194 |
- |
| test_imapUnsolicitedXDuringIdle.js |
Test that an unknown untagged X response sent while the connection is
idling, when no url is running, is ignored:
* XFOO bar<CR><LF>
|
2550 |
- |
| test_imapUrls.js |
Test parsing of imap uri's with very large UID's.
|
671 |
- |
| test_imapVirtualFolderReuse.js |
Tests bug 450059: creating a virtual folder (saved search) under an IMAP
account, deleting it, and then creating an ordinary folder with the same
name must not leave the new folder with the Virtual flag.
The stale virtual folder object is removed from the folder tree on deletion
(parent set to null), but a strong reference may keep the object alive so
that the folder lookup service's weak reference still resolves. Recreating a
folder at the same URI must not reuse it, otherwise the new folder
incorrectly inherits the Virtual flag.
|
2580 |
- |
| test_largeOfflineStore.js |
Test to ensure that downloadAllForOffline works correctly for large imap
stores, i.e., over 4 GiB.
|
4919 |
- |
| test_listClosesDB.js |
|
4380 |
- |
| test_listSubscribed.js |
Test that listing subscribed mailboxes uses LIST (SUBSCRIBED) instead of LSUB
for servers that have LIST-EXTENDED capability
|
4319 |
- |
| test_localToImapFilter.js |
This file tests copies of multiple messages using filters
from incoming POP3, with filter actions copying and moving
messages to IMAP folders. This test is adapted from
test_imapFolderCopy.js
Original author: Kent James <kent@caspia.com>
|
5182 |
- |
| test_localToImapFilterQuarantine.js |
This file tests copies of multiple messages using filters
from incoming POP3, with filter actions copying and moving
messages to an IMAP folder, when the POP3 message uses
quarantining to help antivirus software. See bug 387361.
|
3832 |
- |
| test_lockedFlagsImap.js |
Tests folders with special use flags prevent removal of those flags, if the
flags come from an IMAP server.
|
4208 |
- |
| test_lsub.js |
|
2558 |
- |
| test_mailboxes.js |
Tests basic mailbox handling of IMAP, like discovery, rename and empty folder.
|
2986 |
- |
| test_missingDateUsesReceived.js |
|
2327 |
- |
| test_multiFolderMove.js |
Bug 589008: moving several IMAP folders into one target on the same server at
once should move all of them. This queues the moves the way a multi-folder
drag does, then checks they all landed in the target.
|
1992 |
- |
| test_multipleCopyNonlocal.js |
Tests that multiple messages can be copied while not stored locally,
targeting the maildir issues of bug 856519.
|
3256 |
- |
| test_nsImapOfflineDownloader.js |
Tests that the OfflineManager correctly downloads IMAP messages
via nsIMsgOfflineManager.synchronizeForOffline().
SynchronizeForOffline() is the only path which exercises
nsImapOfflineDownloader, which is what we're aiming to cover here.
|
3354 |
- |
| test_nsIMsgFolderListenerIMAP.js |
Test suite for nsIMsgFolderListener events due to IMAP operations
Currently tested
- Adding new folders
- Copying messages from files to mailboxes
- Adding new messages directly to mailboxes
NOTE (See Bug 1632022):
Running this test by itself...
$ ./mach xpcshell-test comm/mailnews/imap/test/unit/test_nsIMsgFolderListenerIMAP.js
...will fail.
This is because all the IMAP tests run twice - once with mbox storage and
once with maildir storage. For this test, the two parallel instances
interact badly.
|
11143 |
- |
| test_offlineCopy.js |
This test checks pseudo-offline message copies (which is triggered
by allowUndo == true in copyMessages).
|
7333 |
- |
| test_offlineDraftDataloss.js |
This file tests that a message saved as draft in an IMAP folder in offline
mode is not lost when going back online
See Bug 805626
|
4238 |
- |
| test_offlineMoveLocalToIMAP.js |
Test to check that offline IMAP operation for a local->IMAP message
move completes correctly once we go back online.
|
3720 |
- |
| test_offlinePlayback.js |
Test to ensure that changes made while offline are played back when we
go back online.
|
5981 |
- |
| test_offlineStoreLocking.js |
Test to ensure that code that writes to the imap offline store deals
with offline store locking correctly.
|
8011 |
- |
| test_preserveDataOnMove.js |
helper functions
|
3030 |
- |
| test_refreshPasswordFromStorageForFetch.js |
|
3339 |
- |
| test_repairMbox.js |
Test bare CR line endings are changed to LF |
3056 |
- |
| test_saveImapDraft.js |
This file tests that a message saved as draft in an IMAP folder is correctly
marked as unread.
|
2787 |
- |
| test_starttlsFailure.js |
This test checks that we handle the server dropping the connection
on starttls. Since fakeserver doesn't support STARTTLS, I've made
it drop the connection when it's attempted.
|
2800 |
- |
| test_stopMovingToLocalFolder.js |
Test that the message failed to move to a local folder remains on IMAP
server. |
2708 |
- |
| test_storeCustomKeywords.js |
|
4025 |
- |
| test_subfolderLocation.js |
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ |
2662 |
- |
| test_subscribeNoSummaryFile.js |
Tests that subscribing to an IMAP folder creates exactly one summary
(.msf) file (bug 520437).
An info read on a folder that isn't on disk yet (e.g. an IMAP folder below
an unsubscribed parent, while subscribing to it) used to create an empty
.msf prematurely. When discovery later created the real summary file, the
empty leftover was renamed with a "-1" suffix, leaving an orphaned
"NotOnDisk-1.msf" duplicate behind.
|
2745 |
- |
| test_subscribeWithSubfolder.js |
Tests that subscribing a folder and a subfolder together (as the Subscribe
dialog does) correctly subscribes both.
|
1948 |
- |
| test_syncChanges.js |
Test to ensure that changes made from a different profile/machine
are synced correctly. In particular, we're checking that emptying out
an imap folder on the server makes us delete all the headers from our db.
|
2803 |
- |
| test_trustSpamAssassin.js |
This file tests recognizing a message as junk due to
SpamAssassin headers, and marking that as good
without having the message return to the junk folder,
as discussed in bug 540385.
adapted from test_filterNeedsBody.js
|
4776 |
- |
| test_virtualFolderSuffixedParent.js |
Tests that a virtual folder beneath an IMAP folder whose on-disk name has a
collision suffix is stored beneath the actual parent path (bug 709449).
|
3942 |
- |
| xpcshell-maildir.toml |
|
152 |
- |
| xpcshell-mbox.toml |
|
205 |
- |
| xpcshell-shared.toml |
|
3382 |
- |