12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- --TEST--
- Test imap_close() function : usage variations - different ints as $flags arg
- --EXTENSIONS--
- imap
- --SKIPIF--
- <?php
- require_once(__DIR__.'/setup/skipif.inc');
- ?>
- --FILE--
- <?php
- /*
- * Pass different integers as $flags arg to imap_close() to test which are
- * recognised as CL_EXPUNGE option
- */
- echo "*** Testing imap_close() : usage variations ***\n";
- require_once(__DIR__.'/setup/imap_include.inc');
- $inputs = array (0, 3.2768e4, -32768, PHP_INT_MAX, -PHP_INT_MAX);
- $stream_id = setup_test_mailbox('imapclosevar4', 3, $mailbox); // set up temp mailbox with 3 messages
- // loop through each element of $inputs to check the behavior of imap_close()
- $iterator = 1;
- foreach($inputs as $input) {
- // mark added messages for deletion
- for ($i = 1; $i < 4; $i++) {
- imap_delete($stream_id, $i);
- }
- echo "\n-- Iteration $iterator --\n";
- try {
- var_dump( $check = imap_close($stream_id, $input) );
- } catch (\ValueError $e) {
- echo $e->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--
- <?php
- $mailbox_suffix = 'imapclosevar4';
- require_once(__DIR__.'/setup/clean.inc');
- ?>
- --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
|