--TEST-- Test imap_close() function : usage variations - different ints as $flags arg --EXTENSIONS-- imap --SKIPIF-- --FILE-- getMessage() . \PHP_EOL; $check = false; } // check that imap_close was successful, if not call imap_close and explicitly set CL_EXPUNGE if(false === $check) { imap_close($stream_id, CL_EXPUNGE); } else { // if imap_close was successful test whether CL_EXPUNGE was set by doing a message count $imap_stream = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); $num_msg = imap_num_msg($imap_stream); if ($num_msg != 0) { echo "CL_EXPUNGE was not set, $num_msg msgs in mailbox\n"; } else { echo "CL_EXPUNGE was set\n"; } // call imap_close with CL_EXPUNGE explicitly set in case mailbox not empty imap_close($imap_stream, CL_EXPUNGE); } $iterator++; // get $stream_id for next iteration $stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); populate_mailbox($stream_id, $mailbox, 3); }; ?> --CLEAN-- --EXPECT-- *** Testing imap_close() : usage variations *** Create a temporary mailbox and add 3 msgs New mailbox created -- Iteration 1 -- bool(true) CL_EXPUNGE was not set, 3 msgs in mailbox -- Iteration 2 -- bool(true) CL_EXPUNGE was set -- Iteration 3 -- imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0 -- Iteration 4 -- imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0 -- Iteration 5 -- imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0