diff options
author | George Peter Banyard <girgias@php.net> | 2020-12-01 15:18:54 +0000 |
---|---|---|
committer | George Peter Banyard <girgias@php.net> | 2020-12-01 16:38:08 +0000 |
commit | 5aaffc8095eeb69407855b33d1939dd5ebd619ca (patch) | |
tree | a78c8d7c7614ba3899b1acbc6f0f21e36a85bef1 /ext/imap | |
parent | 83cf4aa13a9e5c59a6baf60d293bd2e38ab9d59d (diff) | |
download | php-git-5aaffc8095eeb69407855b33d1939dd5ebd619ca.tar.gz |
Backport IMAP test modernization to PHP-8.0 branch
Closes GH-6476
Diffstat (limited to 'ext/imap')
60 files changed, 491 insertions, 475 deletions
diff --git a/ext/imap/tests/CONFLICTS b/ext/imap/tests/CONFLICTS deleted file mode 100644 index c301c0ffac..0000000000 --- a/ext/imap/tests/CONFLICTS +++ /dev/null @@ -1 +0,0 @@ -imap diff --git a/ext/imap/tests/README.md b/ext/imap/tests/README.md index 6324ab7f9e..1dee1d2663 100644 --- a/ext/imap/tests/README.md +++ b/ext/imap/tests/README.md @@ -11,14 +11,14 @@ hMailServer on Windows. The tests are intended to be mailserver agnostic. ## Set-up tests on Ubuntu (checked on Ubuntu 18.04 (Bionic)) The necessary packages can be installed using the following command; -`apt-get install libc-client-dev libkrb5-dev dovecot-core dovecot-pop3d dovecot-imapd` +`apt-get install libc-client-dev libkrb5-dev dovecot-core dovecot-pop3d dovecot-imapd sendmail` The build of PHP will need to be compiled with the following flags: ``` --with-imap --with-kerberos --with-imap-ssl ``` -Then run the set-up script `ext/imap/tests/setup.sh` which will add the `vmail` +Then run the set-up script `ext/imap/tests/setup/setup.sh` which will add the `vmail` group and user which is used by Dovecot for the mailbox. It will also copy the -`ext/imap/tests/dovecot.conf` and `ext/imap/tests/dovecotpass` to the correct +`ext/imap/tests/setup/dovecot.conf` and `ext/imap/tests/setup/dovecotpass` to the correct location for Dovecot and restarts it for the new configuration to be enabled. diff --git a/ext/imap/tests/bug31142_2.phpt b/ext/imap/tests/bug31142_2.phpt index 004c054963..dbb4c9a6ad 100644 --- a/ext/imap/tests/bug31142_2.phpt +++ b/ext/imap/tests/bug31142_2.phpt @@ -2,9 +2,7 @@ Bug #31142 test #2 (imap_mail_compose() generates incorrect output) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php diff --git a/ext/imap/tests/bug32589.phpt b/ext/imap/tests/bug32589.phpt index 52a73c6f23..ad49915018 100644 --- a/ext/imap/tests/bug32589.phpt +++ b/ext/imap/tests/bug32589.phpt @@ -2,9 +2,7 @@ Bug #32589 (crash inside imap_mail_compose() function) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php diff --git a/ext/imap/tests/bug35669.phpt b/ext/imap/tests/bug35669.phpt index fc7a135bce..7a9372d0a0 100644 --- a/ext/imap/tests/bug35669.phpt +++ b/ext/imap/tests/bug35669.phpt @@ -2,45 +2,43 @@ Bug #35669 (imap_mail_compose() crashes with multipart-multiboundary-email) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php - $envelope["from"] = 'Santa <somewhere@northpole.gov>'; - $envelope["to"] = 'The bad smurf <bad@smurf.com>'; - $envelope['date'] = 'Wed, 04 Jan 2006 19:24:43 -0500'; +$envelope["from"] = 'Santa <somewhere@northpole.gov>'; +$envelope["to"] = 'The bad smurf <bad@smurf.com>'; +$envelope['date'] = 'Wed, 04 Jan 2006 19:24:43 -0500'; - $multipart["type"] = TYPEMULTIPART; - $multipart["subtype"] = "MIXED"; - $body[] = $multipart; //add multipart stuff +$multipart["type"] = TYPEMULTIPART; +$multipart["subtype"] = "MIXED"; +$body[] = $multipart; //add multipart stuff - $textpart["type"] = TYPEMULTIPART; - $textpart["subtype"] = "ALTERNATIVE"; - $body[] = $textpart; //add body part +$textpart["type"] = TYPEMULTIPART; +$textpart["subtype"] = "ALTERNATIVE"; +$body[] = $textpart; //add body part - $plain["type"] = TYPETEXT; - $plain["subtype"] = "PLAIN"; - $plain["charset"] = "iso-8859-1"; - $plain["encoding"] = ENCQUOTEDPRINTABLE; - $plain["description"] = "Plaintype part of message"; - $plain['disposition'] = "inline"; - $plain["contents.data"] = 'See mom, it will crash'; +$plain["type"] = TYPETEXT; +$plain["subtype"] = "PLAIN"; +$plain["charset"] = "iso-8859-1"; +$plain["encoding"] = ENCQUOTEDPRINTABLE; +$plain["description"] = "Plaintype part of message"; +$plain['disposition'] = "inline"; +$plain["contents.data"] = 'See mom, it will crash'; - $body[] = $plain; //next add plain text part +$body[] = $plain; //next add plain text part - $html["type"] = TYPETEXT; - $html["subtype"] = "HTML"; - $html["charset"] = "iso-8859-1"; - $html["encoding"] = ENCQUOTEDPRINTABLE; - $html["description"] = "HTML part of message"; - $html['disposition'] = "inline"; - $html["contents.data"] = 'See mom, it will <b>crash</b>'; +$html["type"] = TYPETEXT; +$html["subtype"] = "HTML"; +$html["charset"] = "iso-8859-1"; +$html["encoding"] = ENCQUOTEDPRINTABLE; +$html["description"] = "HTML part of message"; +$html['disposition'] = "inline"; +$html["contents.data"] = 'See mom, it will <b>crash</b>'; - $body[] = $html; +$body[] = $html; - echo imap_mail_compose($envelope, $body); +echo imap_mail_compose($envelope, $body); ?> --EXPECTF-- Date: Wed, 04 Jan 2006 19:24:43 -0500 diff --git a/ext/imap/tests/bug44098.phpt b/ext/imap/tests/bug44098.phpt index 2a0f5cef44..2e0f025d6a 100644 --- a/ext/imap/tests/bug44098.phpt +++ b/ext/imap/tests/bug44098.phpt @@ -2,19 +2,14 @@ Bug #44098 (imap_utf8() returns only capital letters) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php $exp = 'LuzonĀ®14 dot CoM'; $res = imap_utf8('=?iso-8859-1?b?THV6b26uMTQ=?= dot CoM'); -if ($res != $exp) { - echo "failed: got <$res>, expected <exp>\n"; -} else { - echo "ok"; -} +var_dump($res); + ?> --EXPECT-- -ok +string(17) "LuzonĀ®14 dot CoM" diff --git a/ext/imap/tests/bug45705_1.phpt b/ext/imap/tests/bug45705_1.phpt index 05d3a0a2f6..b8d33e6758 100644 --- a/ext/imap/tests/bug45705_1.phpt +++ b/ext/imap/tests/bug45705_1.phpt @@ -2,9 +2,7 @@ Bug #45705 test #1 (imap rfc822_parse_adrlist() modifies passed address parameter) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php diff --git a/ext/imap/tests/bug45705_2.phpt b/ext/imap/tests/bug45705_2.phpt index 97c4118614..a4e7828d1f 100644 --- a/ext/imap/tests/bug45705_2.phpt +++ b/ext/imap/tests/bug45705_2.phpt @@ -2,9 +2,7 @@ Bug #45705 test #2 (imap rfc822_parse_adrlist() modifies passed address parameter) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php diff --git a/ext/imap/tests/bug53377.phpt b/ext/imap/tests/bug53377.phpt index a507369046..083d951c20 100644 --- a/ext/imap/tests/bug53377.phpt +++ b/ext/imap/tests/bug53377.phpt @@ -2,9 +2,7 @@ Bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php diff --git a/ext/imap/tests/bug63126.phpt b/ext/imap/tests/bug63126.phpt index 8eea34cf1d..8297b509ae 100644 --- a/ext/imap/tests/bug63126.phpt +++ b/ext/imap/tests/bug63126.phpt @@ -4,11 +4,11 @@ imap_open() DISABLE_AUTHENTICATOR ignores array param <?php extension_loaded('imap') or die('skip imap extension not available in this build'); -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__. '/setup/imap_include.inc'); -$in = @imap_open($default_mailbox, $username, $password, OP_HALFOPEN, 1); +$in = @imap_open(IMAP_SERVER_DEBUG, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, OP_HALFOPEN, 1); if (!$in) { - die("skip could not connect to mailbox $default_mailbox"); + die("skip could not connect to mailbox " . IMAP_SERVER_DEBUG); } $kerberos = false; if (is_array($errors = imap_errors())) { @@ -22,16 +22,19 @@ if (!$kerberos) { die("skip need a GSSAPI/Kerberos aware server"); } ?> +--CONFLICTS-- +defaultmailbox --FILE-- <?php +// TODO Test Kerberos on CI $tests = array( 'Array' => array('DISABLE_AUTHENTICATOR' => array('GSSAPI','NTLM')), 'String' => array('DISABLE_AUTHENTICATOR' => 'GSSAPI'), ); -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__. '/setup/imap_include.inc'); foreach ($tests as $name => $testparams) { echo "Test for $name\n"; - $in = imap_open($default_mailbox, $username, $password, OP_HALFOPEN, 1, $testparams); + $in = imap_open(IMAP_SERVER_DEBUG, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, OP_HALFOPEN, 1, $testparams); if ($in) { if (is_array($errors = imap_errors())) { foreach ($errors as $err) { diff --git a/ext/imap/tests/bug64076.phpt b/ext/imap/tests/bug64076.phpt index ccafcfe251..7e9ee6fd04 100644 --- a/ext/imap/tests/bug64076.phpt +++ b/ext/imap/tests/bug64076.phpt @@ -2,22 +2,23 @@ Bug #64076 (imap_sort() does not return FALSE on failure) --SKIPIF-- <?php -require_once __DIR__ . '/skipif.inc'; +require_once __DIR__ . '/setup/skipif.inc'; ?> --FILE-- <?php -require_once __DIR__ . '/imap_include.inc'; -$stream = setup_test_mailbox('', 2); +require_once __DIR__ . '/setup/imap_include.inc'; +$stream = setup_test_mailbox('bug64076', 2); imap_errors(); // clear error stack var_dump(imap_sort($stream, SORTFROM, 0, 0, 'UNSUPPORTED SEARCH CRITERIUM')); var_dump(imap_errors() !== false); ?> --CLEAN-- <?php -require_once __DIR__ . '/clean.inc'; +$mailbox_suffix = 'bug64076'; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECT-- Create a temporary mailbox and add 2 msgs -.. mailbox '{127.0.0.1:143/norsh}INBOX.phpttest' created +New mailbox created bool(false) bool(true) diff --git a/ext/imap/tests/bug77020.phpt b/ext/imap/tests/bug77020.phpt index 43c8133700..d828654983 100644 --- a/ext/imap/tests/bug77020.phpt +++ b/ext/imap/tests/bug77020.phpt @@ -6,8 +6,8 @@ if (!extension_loaded('imap')) die('skip imap extension not available'); ?> --FILE-- <?php -imap_mail('1', 1, NULL); +@imap_mail('1', 1, NULL); +echo 'done' ?> --EXPECTF-- -Warning: imap_mail(): No message string in mail command in %s on line %d -%S +%Adone diff --git a/ext/imap/tests/bug77153.phpt b/ext/imap/tests/bug77153.phpt index 7b759621fe..d767ce5472 100644 --- a/ext/imap/tests/bug77153.phpt +++ b/ext/imap/tests/bug77153.phpt @@ -1,11 +1,11 @@ ---TEST-- +--TEST-- Bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter) --SKIPIF-- <?php - if (!extension_loaded("imap")) { - die("skip imap extension not available"); - } +extension_loaded('imap') or die('skip imap extension not available in this build'); ?> +--CONFLICTS-- +defaultmailbox --FILE-- <?php $payload = "echo 'BUG'> " . __DIR__ . '/__bug'; @@ -21,4 +21,4 @@ bool(false) --CLEAN-- <?php if(file_exists(__DIR__ . '/__bug')) unlink(__DIR__ . '/__bug'); -?>
\ No newline at end of file +?> diff --git a/ext/imap/tests/bug80213.phpt b/ext/imap/tests/bug80213.phpt index 9a7961df77..5bad48f306 100644 --- a/ext/imap/tests/bug80213.phpt +++ b/ext/imap/tests/bug80213.phpt @@ -14,8 +14,13 @@ $body = [[ 'type.parameters' => ['param'], 'disposition' => ['disp'], ]]; -imap_mail_compose($envelope, $body); +var_dump(imap_mail_compose($envelope, $body)); echo "done\n"; ?> --EXPECT-- +string(67) "MIME-Version: 1.0 +Content-Type: TEXT/PLAIN; CHARSET=US-ASCII + + +" done diff --git a/ext/imap/tests/bug80226.phpt b/ext/imap/tests/bug80226.phpt index 95ec235178..6cf4cc8a58 100644 --- a/ext/imap/tests/bug80226.phpt +++ b/ext/imap/tests/bug80226.phpt @@ -2,12 +2,25 @@ Bug #80226 (imap_sort() leaks sortpgm memory) --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream = imap_open($default_mailbox, $username, $password); -imap_sort($stream, SORTFROM, 0); +require_once(__DIR__.'/setup/imap_include.inc'); + +echo "Create a new mailbox for test\n"; + +$stream = setup_test_mailbox("bug80226", 0); +var_dump(imap_sort($stream, SORTFROM, 0)); +?> +--CLEAN-- +<?php +$mailbox_suffix = 'bug80226'; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECT-- +Create a new mailbox for test +Create a temporary mailbox and add 0 msgs +New mailbox created +array(0) { +} diff --git a/ext/imap/tests/bug80438.phpt b/ext/imap/tests/bug80438.phpt index 12a1416a7e..4514e932ef 100644 --- a/ext/imap/tests/bug80438.phpt +++ b/ext/imap/tests/bug80438.phpt @@ -2,11 +2,10 @@ Bug #80438: imap_msgno() incorrectly warns and return false on valid UIDs in PHP 8.0.0 --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -echo "*** Testing imap_fetch_overview() : basic functionality ***\n"; require_once __DIR__.'/setup/imap_include.inc'; @@ -41,7 +40,6 @@ $mailbox_suffix = 'bug80438'; require_once __DIR__.'/setup/clean.inc'; ?> --EXPECT-- -*** Testing imap_fetch_overview() : basic functionality *** Create a temporary mailbox and add 10 msgs New mailbox created array(6) { diff --git a/ext/imap/tests/clean.inc b/ext/imap/tests/clean.inc deleted file mode 100644 index 8bc566ba32..0000000000 --- a/ext/imap/tests/clean.inc +++ /dev/null @@ -1,25 +0,0 @@ -<?php -include_once(dirname(__FILE__) . '/imap_include.inc'); - -$imap_stream = imap_open($default_mailbox, $username, $password); - -// delete all msgs in default mailbox, i.e INBOX -$check = imap_check($imap_stream); -for ($i = 1; $i <= $check->Nmsgs; $i++) { - imap_delete($imap_stream, $i); -} - -$mailboxes = imap_getmailboxes($imap_stream, $server, '*'); - -foreach($mailboxes as $value) { - // Only delete mailboxes with our prefix - if (preg_match('/\{.*?\}INBOX\.(.+)/', $value->name, $match) == 1) { - if (strlen($match[1]) >= strlen($mailbox_prefix) - && substr_compare($match[1], $mailbox_prefix, 0, strlen($mailbox_prefix)) == 0) { - imap_deletemailbox($imap_stream, $value->name); - } - } -} - -imap_close($imap_stream, CL_EXPUNGE); -?> diff --git a/ext/imap/tests/imap_append_basic.phpt b/ext/imap/tests/imap_append_basic.phpt index e75b452596..ab2e46886e 100644 --- a/ext/imap/tests/imap_append_basic.phpt +++ b/ext/imap/tests/imap_append_basic.phpt @@ -2,22 +2,19 @@ Test imap_append() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__. '/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_append() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__. '/setup/imap_include.inc'); echo "Create a new mailbox for test\n"; -$imap_stream = setup_test_mailbox("", 0); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox("imapappendbaisc", 0); $mb_details = imap_mailboxmsginfo($imap_stream); -echo "Add a couple of msgs to new mailbox " . $mb_details->Mailbox . "\n"; +echo "Add a couple of msgs to the new mailbox\n"; var_dump(imap_append($imap_stream, $mb_details->Mailbox , "From: webmaster@something.com\r\n" . "To: info@something.com\r\n" @@ -44,14 +41,15 @@ imap_close($imap_stream); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapappendbaisc'; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_append() : basic functionality *** Create a new mailbox for test Create a temporary mailbox and add 0 msgs -.. mailbox '%s' created -Add a couple of msgs to new mailbox {%s}INBOX.%s +New mailbox created +Add a couple of msgs to the new mailbox bool(true) bool(true) Msg Count after append : 2 diff --git a/ext/imap/tests/imap_body.phpt b/ext/imap/tests/imap_body.phpt index 6c2f629398..59678ad539 100644 --- a/ext/imap/tests/imap_body.phpt +++ b/ext/imap/tests/imap_body.phpt @@ -5,33 +5,40 @@ Paul Sohier #phptestfest utrecht --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +require_once(__DIR__.'/setup/imap_include.inc'); + +$imap_stream = setup_test_mailbox("imapbodyvalueerror", 0); try { - imap_body($stream_id,-1); + imap_body($imap_stream,-1); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { - imap_body($stream_id,1,-1); + imap_body($imap_stream,1,-1); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } //Access not existing -var_dump(imap_body($stream_id, 255, FT_UID)); +var_dump(imap_body($imap_stream, 255, FT_UID)); -imap_close($stream_id); +imap_close($imap_stream); ?> +--CLEAN-- +<?php +$mailbox_suffix = 'imapbodyvalueerror'; +require_once(__DIR__ . '/setup/clean.inc'); +?> --EXPECTF-- +Create a temporary mailbox and add 0 msgs +New mailbox created imap_body(): Argument #2 ($message_num) must be greater than 0 imap_body(): Argument #3 ($flags) must be a bitmask of FT_UID, FT_PEEK, and FT_INTERNAL diff --git a/ext/imap/tests/imap_body_basic.phpt b/ext/imap/tests/imap_body_basic.phpt index 3034785a90..b5cb0fcd33 100644 --- a/ext/imap/tests/imap_body_basic.phpt +++ b/ext/imap/tests/imap_body_basic.phpt @@ -2,19 +2,16 @@ Test imap_body() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_body() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); echo "Create a new mailbox for test\n"; -$imap_stream = setup_test_mailbox("", 1); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox("imapbodybasic", 1); $check = imap_check($imap_stream); echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n"; @@ -29,15 +26,16 @@ imap_close($imap_stream); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapbodybasic'; +require_once __DIR__.'/setup/clean.inc'; ?> --EXPECTF-- *** Testing imap_body() : basic functionality *** Create a new mailbox for test Create a temporary mailbox and add 1 msgs -.. mailbox '%s' created +New mailbox created Msg Count in new mailbox: 1 string(%d) "1: this is a test message, please ignore -" +newline%r\R?%r" string(%d) "1: this is a test message, please ignore -" +newline%r\R?%r" diff --git a/ext/imap/tests/imap_bodystruct_basic.phpt b/ext/imap/tests/imap_bodystruct_basic.phpt index 56c88399c3..f969e86764 100644 --- a/ext/imap/tests/imap_bodystruct_basic.phpt +++ b/ext/imap/tests/imap_bodystruct_basic.phpt @@ -2,47 +2,43 @@ Test imap_bodystruct() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing string imap_bodystruct : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); echo "Create a new mailbox for test and add a multipart msgs\n"; -$imap_stream = setup_test_mailbox("", 1, $mailbox, "multipart"); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox("imapbodystructbasic", 1, $mailbox, "multipart"); echo "\nGet and validate structure of body part 1\n"; $m = imap_bodystruct($imap_stream, 1, "1"); -$mandatoryFields = array( - 'ifsubtype', - 'ifdescription', - 'ifid', - 'ifdisposition', - 'ifdparameters', - 'ifparameters', - ); +$mandatoryFields = [ + 'ifsubtype', + 'ifdescription', + 'ifid', + 'ifdisposition', + 'ifdparameters', + 'ifparameters', +]; + +function isValid($param) { + return ($param == 0) || ($param == 1); +} -foreach($mandatoryFields as $mf) -{ - if(isValid($m->$mf)) - { - echo "$mf is 0 or 1\n"; - } - else - { - echo "$mf FAIL\n"; - } +foreach($mandatoryFields as $mf) { + if (isValid($m->$mf)) { + echo "$mf is 0 or 1\n"; + } else { + echo "$mf FAIL\n"; + } } -if(is_array($m->parameters)) -{ - echo "parameters is an array\n"; +if(is_array($m->parameters)) { + echo "parameters is an array\n"; } echo "\nTry to get part 4!\n"; @@ -50,28 +46,17 @@ var_dump(imap_bodystruct($imap_stream, 1, "4")); imap_close($imap_stream); -function isValid($param) -{ - if(($param == 0) || ($param == 1)) - { - $result=true; - } - else - { - $result=false; - } -return $result; -} ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapbodystructbasic'; +require_once(__DIR__ . '/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing string imap_bodystruct : basic functionality *** Create a new mailbox for test and add a multipart msgs Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created Get and validate structure of body part 1 ifsubtype is 0 or 1 diff --git a/ext/imap/tests/imap_clearflag_full_basic.phpt b/ext/imap/tests/imap_clearflag_full_basic.phpt index cc949385fc..ee65d202ce 100644 --- a/ext/imap/tests/imap_clearflag_full_basic.phpt +++ b/ext/imap/tests/imap_clearflag_full_basic.phpt @@ -2,19 +2,16 @@ Test imap_clearflag_full() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_clearflag_full() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); echo "Create a new mailbox for test\n"; -$imap_stream = setup_test_mailbox("", 10); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox("imapclearflagfullbasic", 10); $check = imap_check($imap_stream); echo "Initial msg count in new_mailbox : ". $check->Nmsgs . "\n"; @@ -44,13 +41,14 @@ imap_close($imap_stream); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapclearflagfullbasic'; +require_once(__DIR__ . '/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_clearflag_full() : basic functionality *** Create a new mailbox for test Create a temporary mailbox and add 10 msgs -.. mailbox '{%s}%s' created +New mailbox created Initial msg count in new_mailbox : 10 Set some flags bool(true) diff --git a/ext/imap/tests/imap_close_basic.phpt b/ext/imap/tests/imap_close_basic.phpt index 57b2e7eab1..c962b62f7f 100644 --- a/ext/imap/tests/imap_close_basic.phpt +++ b/ext/imap/tests/imap_close_basic.phpt @@ -2,17 +2,17 @@ Test imap_close() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_close() : basic functionality ***\n"; // include file for required variables in imap_open() -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); // Initialize required variables -$stream_id = setup_test_mailbox('', 3, $mailbox); // set up temp mailbox with 3 messages +$stream_id = setup_test_mailbox('imapclosebasic', 3, $mailbox); // set up temp mailbox with 3 messages $options = CL_EXPUNGE; // mark messages in inbox for deletion @@ -25,7 +25,7 @@ echo "\n-- Call to imap_close() with all possible arguments --\n"; var_dump( imap_close($stream_id, $options) ); // check that CL_EXPUNGE worked -$stream_id = imap_open($mailbox, $username, $password); +$stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n"; // Calling imap_close() with mandatory arguments @@ -34,16 +34,17 @@ var_dump( imap_close($stream_id) ); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapclosebasic'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_close() : basic functionality *** Create a temporary mailbox and add 3 msgs -.. mailbox '%sINBOX.phpttest' created +New mailbox created -- Call to imap_close() with all possible arguments -- bool(true) -There are now 0 msgs in mailbox '%sINBOX.phpttest' +There are now 0 msgs in mailbox '%sINBOX.phpttestimapclosebasic' -- Call to imap_close() with mandatory arguments -- bool(true) diff --git a/ext/imap/tests/imap_close_variation4.phpt b/ext/imap/tests/imap_close_variation4.phpt index b57f607f88..ff78ac985c 100644 --- a/ext/imap/tests/imap_close_variation4.phpt +++ b/ext/imap/tests/imap_close_variation4.phpt @@ -2,7 +2,7 @@ Test imap_close() function : usage variations - different ints as $flags arg --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -13,11 +13,11 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_close() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); $inputs = array (0, 3.2768e4, -32768, PHP_INT_MAX, -PHP_INT_MAX); -$stream_id = setup_test_mailbox('', 3, $mailbox); // set up temp mailbox with 3 messages +$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; @@ -40,7 +40,7 @@ foreach($inputs as $input) { 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, $username, $password); + $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"; @@ -53,19 +53,20 @@ foreach($inputs as $input) { $iterator++; // get $stream_id for next iteration - $stream_id = imap_open($mailbox, $username, $password); + $stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); populate_mailbox($stream_id, $mailbox, 3); }; ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapclosevar4'; +require_once(__DIR__.'/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_close() : usage variations *** Create a temporary mailbox and add 3 msgs -.. mailbox '{%s}%s' created +New mailbox created -- Iteration 1 -- bool(true) diff --git a/ext/imap/tests/imap_createmailbox_basic.phpt b/ext/imap/tests/imap_createmailbox_basic.phpt index 84db5cbd31..83dc3d0f6e 100644 --- a/ext/imap/tests/imap_createmailbox_basic.phpt +++ b/ext/imap/tests/imap_createmailbox_basic.phpt @@ -2,22 +2,21 @@ Test imap_createmailbox() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once __DIR__.'/setup/skipif.inc'; ?> --FILE-- <?php echo "*** Testing imap_createmailbox() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; -$imap_stream = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +$imap_stream = setup_test_mailbox("imapcreatemailboxbasic", 0); $newname = "phpnewbox"; echo "Newname will be '$newname'\n"; -$newbox = imap_utf7_encode($server.$newname); +$newbox = imap_utf7_encode(IMAP_SERVER.$newname); if (imap_createmailbox($imap_stream, $newbox)) { echo "Add a couple of msgs to '$newname' mailbox\n"; @@ -49,8 +48,15 @@ if (imap_createmailbox($imap_stream, $newbox)) { imap_close($imap_stream); ?> +--CLEAN-- +<?php +$mailbox_suffix = 'imapcreatemailboxbasic'; +require_once __DIR__ . '/setup/clean.inc'; +?> --EXPECTF-- *** Testing imap_createmailbox() : basic functionality *** +Create a temporary mailbox and add 0 msgs +New mailbox created Newname will be 'phpnewbox' Add a couple of msgs to 'phpnewbox' mailbox Your new mailbox 'phpnewbox' has the following status: diff --git a/ext/imap/tests/imap_errors_basic.phpt b/ext/imap/tests/imap_errors_basic.phpt index c897193766..f691a5c705 100644 --- a/ext/imap/tests/imap_errors_basic.phpt +++ b/ext/imap/tests/imap_errors_basic.phpt @@ -2,16 +2,16 @@ Test imap_errors() function : invalid password --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once __DIR__.'/setup/skipif.inc'; ?> --FILE-- <?php echo "*** Testing imap_errors() : invalid password ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; $password = "bogus"; // invalid password to use in this test echo "Issue opening with invalid password, 1 retry\n"; -$mbox = imap_open($default_mailbox, $username, $password, OP_READONLY, 1); +$mbox = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, $password, OP_READONLY, 1); echo "List any errors\n"; var_dump(imap_errors()); diff --git a/ext/imap/tests/imap_fetch_overview_basic.phpt b/ext/imap/tests/imap_fetch_overview_basic.phpt index a9fe85c45e..ea379b1e59 100644 --- a/ext/imap/tests/imap_fetch_overview_basic.phpt +++ b/ext/imap/tests/imap_fetch_overview_basic.phpt @@ -2,16 +2,16 @@ Test imap_fetch_overview() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_fetch_overview() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; // create a new mailbox and add two new messages to it -$stream_id = setup_test_mailbox('', 2, $mailbox, 'notSimple'); +$stream_id = setup_test_mailbox('imapfetchoverviewbasic', 2, $mailbox, false); // get UID for new message $msg_no = imap_uid($stream_id, 1); @@ -40,12 +40,13 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchoverviewbasic'; +require_once __DIR__.'/setup/clean.inc'; ?> --EXPECTF-- *** Testing imap_fetch_overview() : basic functionality *** Create a temporary mailbox and add 2 msgs -.. mailbox '{%s}%s' created +New mailbox created -- All possible arguments -- diff --git a/ext/imap/tests/imap_fetch_overview_variation3.phpt b/ext/imap/tests/imap_fetch_overview_variation3.phpt index f416887388..1ed528a173 100644 --- a/ext/imap/tests/imap_fetch_overview_variation3.phpt +++ b/ext/imap/tests/imap_fetch_overview_variation3.phpt @@ -2,7 +2,7 @@ Test imap_fetch_overview() function : usage variations - FT_UID option --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -14,19 +14,20 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_fetch_overview() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; // Initialise required variables -$stream_id = setup_test_mailbox('', 1); // set up temporary mailbox with one simple message +$stream_id = setup_test_mailbox('imapfetchoverviewvar3', 1); // set up temporary mailbox with one simple message $msg_no = 1; $msg_uid = imap_uid($stream_id, $msg_no); -$flags = array ('1', - true, - 1.000000000000001, - 0.00001e5, - 245 - ); +$flags = [ + '1', + true, + 1.000000000000001, + 0.00001e5, + 245, +]; imap_check($stream_id); foreach($flags as $option) { @@ -45,12 +46,13 @@ foreach($flags as $option) { ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchoverviewvar3'; +require_once(__DIR__.'/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_fetch_overview() : usage variations *** Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created Testing with option value:string(1) "1" imap_fetch_overview() returns an object diff --git a/ext/imap/tests/imap_fetch_overview_variation5.phpt b/ext/imap/tests/imap_fetch_overview_variation5.phpt index 9774e682c1..6a8b6abd51 100644 --- a/ext/imap/tests/imap_fetch_overview_variation5.phpt +++ b/ext/imap/tests/imap_fetch_overview_variation5.phpt @@ -2,7 +2,7 @@ Test imap_fetch_overview() function : usage variations - $msg_no argument --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -12,25 +12,31 @@ require_once(__DIR__.'/skipif.inc'); */ echo "*** Testing imap_fetch_overview() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; -$stream_id = setup_test_mailbox('', 3, $mailbox, 'notSimple'); // set up temp mailbox with 3 msgs +$stream_id = setup_test_mailbox('imapfetchoverviewvar5', 3, $mailbox, false); // set up temp mailbox with 3 msgs -$sequences = array (0, 4, '4', // out of range - '2', '1,3', '1, 2', - '1:3'); // pass uid without setting FT_UID option +$sequences = [ + 0, + 4, // out of range + '4', // out of range + '2', + '1,3', + '1, 2', + '1:3', // pass uid without setting FT_UID option +]; -foreach($sequences as $msg_no) { +foreach ($sequences as $msg_no) { echo "\n-- \$msg_no is $msg_no --\n"; - $overview = imap_fetch_overview($stream_id, $msg_no); + $overview = imap_fetch_overview($stream_id, $msg_no); if (!$overview) { echo imap_last_error() . "\n"; - } else { + } else { foreach($overview as $ov) { echo "\n"; displayOverviewFields($ov); - } } + } } // clear error stack @@ -38,12 +44,13 @@ imap_errors(); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchoverviewvar5'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetch_overview() : usage variations *** Create a temporary mailbox and add 3 msgs -.. mailbox '{%s}%s' created +New mailbox created -- $msg_no is 0 -- Sequence out of range diff --git a/ext/imap/tests/imap_fetch_overview_variation6.phpt b/ext/imap/tests/imap_fetch_overview_variation6.phpt index 256f631082..0535b3d5ac 100644 --- a/ext/imap/tests/imap_fetch_overview_variation6.phpt +++ b/ext/imap/tests/imap_fetch_overview_variation6.phpt @@ -2,7 +2,7 @@ Test imap_fetch_overview() function : usage variations - multipart message --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -12,9 +12,9 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_fetch_overview() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once __DIR__.'/setup/imap_include.inc'; -$stream_id = setup_test_mailbox('', 0, $mailbox); // setup temp mailbox +$stream_id = setup_test_mailbox('imapfetchoverviewvar6', 0, $mailbox); // setup temp mailbox create_multipart_message($stream_id, $mailbox); // refresh msg numbers @@ -37,7 +37,7 @@ displayOverviewFields($a[0]); function create_multipart_message($imap_stream, $mailbox) { global $users, $domain; $envelope["from"]= "foo@anywhere.com"; - $envelope["to"] = "$users[0]@$domain"; + $envelope["to"] = IMAP_USERS[0] . '@' . IMAP_MAIL_DOMAIN; $envelope["subject"] = "Test msg 1"; $part1["type"] = TYPEMULTIPART; @@ -82,12 +82,13 @@ function create_multipart_message($imap_stream, $mailbox) { ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchoverviewvar6'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetch_overview() : usage variations *** Create a temporary mailbox and add 0 msgs -.. mailbox '{%s}%s' created +New mailbox created --> Object #1 size is %d diff --git a/ext/imap/tests/imap_fetchbody_basic.phpt b/ext/imap/tests/imap_fetchbody_basic.phpt index 3c16f939c8..d0324383ea 100644 --- a/ext/imap/tests/imap_fetchbody_basic.phpt +++ b/ext/imap/tests/imap_fetchbody_basic.phpt @@ -2,7 +2,7 @@ Test imap_fetchbody() function : basic functionality --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -12,12 +12,12 @@ require_once(__DIR__.'/skipif.inc'); */ echo "*** Testing imap_fetchbody() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); // Initialise all required variables // set up mailbox with one message -$stream_id = setup_test_mailbox('', 1, $mailbox, 'notSimple'); +$stream_id = setup_test_mailbox('imapfetchbodybasic', 1, $mailbox, false); $msg_no = 1; $section = '2'; @@ -57,12 +57,13 @@ var_dump( $overview[0]->seen ); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchbodybasic'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchbody() : basic functionality *** Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created -- All possible arguments -- -- Option is FT_UID -- diff --git a/ext/imap/tests/imap_fetchbody_variation4.phpt b/ext/imap/tests/imap_fetchbody_variation4.phpt index df5d895670..5e25dd1126 100644 --- a/ext/imap/tests/imap_fetchbody_variation4.phpt +++ b/ext/imap/tests/imap_fetchbody_variation4.phpt @@ -2,7 +2,7 @@ Test imap_fetchbody() function : usage variations - FT_UID option --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -13,10 +13,10 @@ require_once(__DIR__.'/skipif.inc'); */ echo "*** Testing imap_fetchbody() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); // Initialise required variables -$stream_id = setup_test_mailbox('', 1); // set up temporary mailbox with one simple message +$stream_id = setup_test_mailbox('imapfetchbodyvar4', 1); // set up temporary mailbox with one simple message $msg_no = 1; $msg_uid = imap_uid($stream_id, $msg_no); $section = 1; @@ -47,12 +47,13 @@ foreach($flags as $option) { ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchbodyvar4'; +require_once(__DIR__.'/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_fetchbody() : usage variations *** Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created -- Iteration 1 -- FT_UID valid diff --git a/ext/imap/tests/imap_fetchbody_variation6.phpt b/ext/imap/tests/imap_fetchbody_variation6.phpt index 8b3d73540a..7889c40193 100644 --- a/ext/imap/tests/imap_fetchbody_variation6.phpt +++ b/ext/imap/tests/imap_fetchbody_variation6.phpt @@ -2,7 +2,7 @@ Test imap_fetchbody() function : usage variations - $message_num arg --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -13,10 +13,10 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_fetchbody() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); //Initialise required variables -$stream_id = setup_test_mailbox('', 3); // set up temp mailbox with simple msgs +$stream_id = setup_test_mailbox('imapfetchbodyvar6', 3); // set up temp mailbox with simple msgs $section = 1; $sequences = [0, /* out of range */ 4, 1]; @@ -32,12 +32,13 @@ foreach($sequences as $message_num) { ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchbodyvar6'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchbody() : usage variations *** Create a temporary mailbox and add 3 msgs -.. mailbox '{%s}%s' created +New mailbox created -- $message_num is 0 -- imap_fetchbody(): Argument #2 ($message_num) must be greater than 0 @@ -48,5 +49,5 @@ Warning: imap_fetchbody(): Bad message number in %s on line %d bool(false) -- $message_num is 1 -- -string(%s) "1: this is a test message, please ignore -%A" +string(%d) "1: this is a test message, please ignore +newline%r\R?%r" diff --git a/ext/imap/tests/imap_fetchheader_basic.phpt b/ext/imap/tests/imap_fetchheader_basic.phpt index 44f7de5a39..dc934e00cf 100644 --- a/ext/imap/tests/imap_fetchheader_basic.phpt +++ b/ext/imap/tests/imap_fetchheader_basic.phpt @@ -2,15 +2,15 @@ Test imap_fetchheader() function : basic function --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_fetchheader() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); // Initialise all required variables -$stream_id = setup_test_mailbox('', 1, $mailbox, 'multiPart'); // setup temp mailbox with 1 msg +$stream_id = setup_test_mailbox('imapfetchheaderbasic', 1, $mailbox, false); // setup temp mailbox with 1 msg $msg_no = 1; $options = array('FT_UID' => FT_UID, 'FT_INTERNAL' => FT_INTERNAL, 'FT_PREFETCHTEXT' => FT_PREFETCHTEXT); @@ -33,12 +33,13 @@ var_dump( imap_fetchheader($stream_id, $msg_no) ); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchheaderbasic'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchheader() : basic functionality *** Create a temporary mailbox and add 1 msgs -.. mailbox '%s.phpttest' created +New mailbox created -- All possible arguments -- -- Option is FT_UID -- diff --git a/ext/imap/tests/imap_fetchheader_variation3.phpt b/ext/imap/tests/imap_fetchheader_variation3.phpt index a457db0491..1289087b7d 100644 --- a/ext/imap/tests/imap_fetchheader_variation3.phpt +++ b/ext/imap/tests/imap_fetchheader_variation3.phpt @@ -2,7 +2,7 @@ Test imap_fetchheader() function : usage variations - FT_UID option --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -14,10 +14,10 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_fetchheader() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); // Initialise required variables -$stream_id = setup_test_mailbox('', 1); // set up temporary mailbox with one simple message +$stream_id = setup_test_mailbox('imapfetchheadervar3', 1); // set up temporary mailbox with one simple message $msg_no = 1; $msg_uid = imap_uid($stream_id, $msg_no); @@ -44,12 +44,13 @@ foreach($flags as $option) { ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchheadervar3'; +require_once(__DIR__ . '/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_fetchheader() : usage variations *** Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created -- Iteration 1 -- FT_UID valid diff --git a/ext/imap/tests/imap_fetchheader_variation5.phpt b/ext/imap/tests/imap_fetchheader_variation5.phpt index cb00986a06..eb6493017b 100644 --- a/ext/imap/tests/imap_fetchheader_variation5.phpt +++ b/ext/imap/tests/imap_fetchheader_variation5.phpt @@ -2,7 +2,7 @@ Test imap_fetchheader() function : usage variations - $message_num argument --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php @@ -13,9 +13,9 @@ require_once(__DIR__.'/skipif.inc'); echo "*** Testing imap_fetchheader() : usage variations ***\n"; -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); -$stream_id = setup_test_mailbox('', 3, $mailbox, 'notSimple'); // set up temp mailbox with 3 msgs +$stream_id = setup_test_mailbox('imapfetchheadervar5', 3, $mailbox, false); // set up temp mailbox with 3 msgs $sequences = [0, /* out of range */ 4, 1]; @@ -33,12 +33,13 @@ imap_errors(); ?> --CLEAN-- <?php -require_once(__DIR__.'/clean.inc'); +$mailbox_suffix = 'imapfetchheadervar5'; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** Create a temporary mailbox and add 3 msgs -.. mailbox '{%s}%s' created +New mailbox created -- $message_num is 0 -- imap_fetchheader(): Argument #2 ($message_num) must be greater than 0 diff --git a/ext/imap/tests/imap_fetchstructure_basic.phpt b/ext/imap/tests/imap_fetchstructure_basic.phpt index 24cd2307dd..2eb730c890 100644 --- a/ext/imap/tests/imap_fetchstructure_basic.phpt +++ b/ext/imap/tests/imap_fetchstructure_basic.phpt @@ -4,13 +4,13 @@ imap_fetchstructure() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imapfetchstructurebasic', 1); try { imap_fetchstructure($stream_id,0); @@ -38,11 +38,12 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapfetchstructurebasic'; +require_once('setup/clean.inc'); ?> --EXPECTF-- Create a temporary mailbox and add 1 msgs -.. mailbox '{127.0.0.1:143/norsh}INBOX.phpttest' created +New mailbox created imap_fetchstructure(): Argument #2 ($message_num) must be greater than 0 bool(true) bool(true) diff --git a/ext/imap/tests/imap_gc_error.phpt b/ext/imap/tests/imap_gc_error.phpt index 5b5b65d271..7c6fa3da84 100644 --- a/ext/imap/tests/imap_gc_error.phpt +++ b/ext/imap/tests/imap_gc_error.phpt @@ -1,18 +1,17 @@ --TEST-- -imap_gc() incorrect parameter count +imap_gc() ValueError --CREDITS-- Paul Sohier #phptestfest utrecht --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imapgcerror', 1); try { imap_gc($stream_id, -1); @@ -21,5 +20,12 @@ try { } ?> +--CLEAN-- +<?php +$mailbox_suffix = 'imapgcerror'; +require_once(__DIR__.'/setup/clean.inc'); +?> --EXPECT-- +Create a temporary mailbox and add 1 msgs +New mailbox created imap_gc(): Argument #2 ($flags) must be a bitmask of IMAP_GC_TEXTS, IMAP_GC_ELT, and IMAP_GC_ENV diff --git a/ext/imap/tests/imap_getsubscribed_basic.phpt b/ext/imap/tests/imap_getsubscribed_basic.phpt index 8e5d85383d..a1519042f1 100644 --- a/ext/imap/tests/imap_getsubscribed_basic.phpt +++ b/ext/imap/tests/imap_getsubscribed_basic.phpt @@ -4,27 +4,29 @@ imap_getsubscribed() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); if (getenv("SKIP_ASAN")) die("skip asan chokes on this: 'LeakSanitizer does not work under ptrace (strace, gdb, etc)'"); ?> +--CONFLICTS-- +defaultmailbox --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or + die("Cannot connect to mailbox ". IMAP_DEFAULT_MAILBOX. ": " . imap_last_error()); -var_dump(imap_getsubscribed($stream_id,$default_mailbox,'ezDvfXvbvcxSerz')); +var_dump(imap_getsubscribed($stream_id, IMAP_DEFAULT_MAILBOX, 'ezDvfXvbvcxSerz')); echo "Checking OK\n"; -$newbox = $default_mailbox . "." . $mailbox_prefix; +$newbox = IMAP_DEFAULT_MAILBOX . "." . IMAP_MAILBOX_PHPT_PREFIX; imap_createmailbox($stream_id, $newbox); imap_subscribe($stream_id, $newbox); -$z = imap_getsubscribed($stream_id,$default_mailbox,'*'); +$z = imap_getsubscribed($stream_id, IMAP_DEFAULT_MAILBOX, '*'); var_dump(is_array($z)); var_dump($z[0]); @@ -33,7 +35,8 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = ''; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECTF-- bool(false) diff --git a/ext/imap/tests/imap_headerinfo_basic.phpt b/ext/imap/tests/imap_headerinfo_basic.phpt index 056a46523c..0d84aee44b 100644 --- a/ext/imap/tests/imap_headerinfo_basic.phpt +++ b/ext/imap/tests/imap_headerinfo_basic.phpt @@ -4,13 +4,13 @@ imap_headerinfo() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imapheaderinfobasic', 1); $z = imap_headerinfo($stream_id, 1); @@ -85,11 +85,12 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapheaderinfobasic'; +require_once('setup/clean.inc'); ?> --EXPECTF-- Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created Check general fields bool(true) bool(true) diff --git a/ext/imap/tests/imap_list_basic.phpt b/ext/imap/tests/imap_list_basic.phpt index addcf70e77..e11c6c1bd0 100644 --- a/ext/imap/tests/imap_list_basic.phpt +++ b/ext/imap/tests/imap_list_basic.phpt @@ -4,20 +4,22 @@ imap_list() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or + die("Cannot connect to mailbox " .IMAP_DEFAULT_MAILBOX.": " . imap_last_error()); -imap_list($stream_id,$default_mailbox,'ezerz'); +imap_list($stream_id, IMAP_DEFAULT_MAILBOX,'ezerz'); -$z = imap_list($stream_id,$default_mailbox,'*'); +$z = imap_list($stream_id, IMAP_DEFAULT_MAILBOX,'*'); var_dump(is_array($z)); + +// e.g. "{127.0.0.1:143/norsh}INBOX" var_dump($z[0]); imap_close($stream_id); diff --git a/ext/imap/tests/imap_lsub_basic.phpt b/ext/imap/tests/imap_lsub_basic.phpt index 3cd4722e1f..2fff7eeac8 100644 --- a/ext/imap/tests/imap_lsub_basic.phpt +++ b/ext/imap/tests/imap_lsub_basic.phpt @@ -4,36 +4,41 @@ imap_lsub() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); if (getenv("SKIP_ASAN")) die("skip leak sanitizer crashes"); ?> +--CONFLICTS-- +defaultmailbox --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = imap_open($default_mailbox, $username, $password) or - die("Cannot connect to mailbox $default_mailbox: " . imap_last_error()); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or + die("Cannot connect to mailbox " .IMAP_DEFAULT_MAILBOX. ": " . imap_last_error()); -var_dump(imap_lsub($stream_id,$default_mailbox,'ezDvfXvbvcxSerz')); +var_dump(imap_lsub($stream_id, IMAP_DEFAULT_MAILBOX, 'ezDvfXvbvcxSerz')); echo "Checking OK\n"; -$newbox = $default_mailbox . "." . $mailbox_prefix; +$newbox = IMAP_DEFAULT_MAILBOX . "." . IMAP_MAILBOX_PHPT_PREFIX; imap_createmailbox($stream_id, $newbox); imap_subscribe($stream_id, $newbox); -$z = imap_lsub($stream_id,$default_mailbox,'*'); +$z = imap_lsub($stream_id, IMAP_DEFAULT_MAILBOX, '*'); var_dump(is_array($z)); + +// e.g. "{127.0.0.1:143/norsh}INBOX.phpttest" var_dump($z[0]); imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = ''; +require_once(__DIR__.'/setup/clean.inc'); ?> --EXPECTF-- bool(false) diff --git a/ext/imap/tests/imap_mail_copy_basic.phpt b/ext/imap/tests/imap_mail_copy_basic.phpt index 25725478a6..312c8198a6 100644 --- a/ext/imap/tests/imap_mail_copy_basic.phpt +++ b/ext/imap/tests/imap_mail_copy_basic.phpt @@ -4,36 +4,33 @@ Test imap_mail_copy() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_mail_copy() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); - +require_once(__DIR__.'/setup/imap_include.inc'); echo "Create a new mailbox for test\n"; -$imap_stream = setup_test_mailbox("", 1); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox('copybasic', 1); $check = imap_check($imap_stream); echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n"; -var_dump(imap_mail_copy($imap_stream, '1', 'INBOX.'.$mailbox_prefix)); +var_dump(imap_mail_copy($imap_stream, '1', 'INBOX.' . IMAP_MAILBOX_PHPT_PREFIX . 'copybasic')); imap_close($imap_stream); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'copybasic'; +require_once('setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_mail_copy() : basic functionality *** Create a new mailbox for test Create a temporary mailbox and add 1 msgs -.. mailbox '%s' created +New mailbox created Msg Count in new mailbox: 1 bool(true) diff --git a/ext/imap/tests/imap_mail_move_basic.phpt b/ext/imap/tests/imap_mail_move_basic.phpt index 3988951f12..3cd347b627 100644 --- a/ext/imap/tests/imap_mail_move_basic.phpt +++ b/ext/imap/tests/imap_mail_move_basic.phpt @@ -4,36 +4,33 @@ Test imap_mail_move() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php echo "*** Testing imap_mail_move() : basic functionality ***\n"; -require_once(__DIR__.'/imap_include.inc'); - +require_once(__DIR__.'/setup/imap_include.inc'); echo "Create a new mailbox for test\n"; -$imap_stream = setup_test_mailbox("", 1); -if (!is_resource($imap_stream)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} +$imap_stream = setup_test_mailbox("movebasic", 1); $check = imap_check($imap_stream); echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n"; -var_dump(imap_mail_move($imap_stream, '1', 'INBOX.'.$mailbox_prefix)); +var_dump(imap_mail_move($imap_stream, '1', 'INBOX.' . IMAP_MAILBOX_PHPT_PREFIX . 'movebasic')); imap_close($imap_stream); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'movebasic'; +require_once(__DIR__.'/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- *** Testing imap_mail_move() : basic functionality *** Create a new mailbox for test Create a temporary mailbox and add 1 msgs -.. mailbox '%s' created +New mailbox created Msg Count in new mailbox: 1 bool(true) diff --git a/ext/imap/tests/imap_mutf7_to_utf8.phpt b/ext/imap/tests/imap_mutf7_to_utf8.phpt index f45361f4a9..835a25428f 100644 --- a/ext/imap/tests/imap_mutf7_to_utf8.phpt +++ b/ext/imap/tests/imap_mutf7_to_utf8.phpt @@ -2,7 +2,6 @@ imap_mutf7_to_utf8 --SKIPIF-- <?php if (!extension_loaded("imap")) print "skip"; ?> -<?php if (!function_exists("imap_mutf7_to_utf8")) print "skip"; ?> --FILE-- <?php diff --git a/ext/imap/tests/imap_open_error.phpt b/ext/imap/tests/imap_open_error.phpt index be1063fadc..5ef4a2918d 100644 --- a/ext/imap/tests/imap_open_error.phpt +++ b/ext/imap/tests/imap_open_error.phpt @@ -5,7 +5,7 @@ Paul Sohier #phptestfest utrecht --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); if (getenv("SKIP_ASAN")) die("skip leak sanitizer crashes"); ?> --FILE-- @@ -20,10 +20,8 @@ try { echo $e->getMessage() . \PHP_EOL; } -require_once(__DIR__.'/imap_include.inc'); - try { - imap_open($default_mailbox, $username, $password, NIL, -1); + imap_open('', '', '', NIL, -1); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } diff --git a/ext/imap/tests/imap_renamemailbox_basic.phpt b/ext/imap/tests/imap_renamemailbox_basic.phpt index c6b1812d16..05f1e4a309 100644 --- a/ext/imap/tests/imap_renamemailbox_basic.phpt +++ b/ext/imap/tests/imap_renamemailbox_basic.phpt @@ -4,20 +4,16 @@ imap_renamemailbox() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); +require_once(__DIR__.'/setup/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +$stream_id = setup_test_mailbox('imaprenamemailbox1', 1); -if (!is_resource($stream_id)) { - exit("TEST FAILED: Unable to create test mailbox\n"); -} - -$newbox = $default_mailbox . "." . $mailbox_prefix; +$mailboxBaseName = IMAP_DEFAULT_MAILBOX . '.' . IMAP_MAILBOX_PHPT_PREFIX; //commented because of bug #49901 //$ancError = error_reporting(0); @@ -26,19 +22,17 @@ $newbox = $default_mailbox . "." . $mailbox_prefix; //error_reporting($ancError); echo "Checking OK\n"; - -var_dump(imap_createmailbox($stream_id, $newbox.'.test')); -var_dump(imap_renamemailbox($stream_id, $newbox.'.test', $newbox.'.testd')); +var_dump(imap_renamemailbox($stream_id, $mailboxBaseName . 'imaprenamemailbox1', $mailboxBaseName . 'imaprenamemailbox2')); imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = ['imaprenamemailbox1', 'imaprenamemailbox2']; +require_once('setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created Checking OK bool(true) -bool(true) diff --git a/ext/imap/tests/imap_rfc822_parse_headers_basic.phpt b/ext/imap/tests/imap_rfc822_parse_headers_basic.phpt index 87dc4aaf05..fd2dfb939d 100644 --- a/ext/imap/tests/imap_rfc822_parse_headers_basic.phpt +++ b/ext/imap/tests/imap_rfc822_parse_headers_basic.phpt @@ -4,13 +4,13 @@ imap_rfc822_parse_headers() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imaprfc822parseheadersbasic', 1); $z = imap_headerinfo($stream_id, 1); @@ -85,11 +85,12 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imaprfc822parseheadersbasic'; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECTF-- Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created Check general fields bool(true) bool(true) diff --git a/ext/imap/tests/imap_savebody_basic.phpt b/ext/imap/tests/imap_savebody_basic.phpt index ccbaa1ba66..38be6ab4a0 100644 --- a/ext/imap/tests/imap_savebody_basic.phpt +++ b/ext/imap/tests/imap_savebody_basic.phpt @@ -4,13 +4,13 @@ imap_savebody() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imapsavebodybasic', 1); $file = __DIR__.'/tmpsavebody.txt'; @@ -31,11 +31,12 @@ imap_close($stream_id); --CLEAN-- <?php @unlink(__DIR__.'/tmpsavebody.txt'); -require_once('clean.inc'); +$mailbox_suffix = 'imapsavebodybasic'; +require_once(__DIR__ . '/setup/clean.inc'); ?> --EXPECTF-- Create a temporary mailbox and add 1 msgs -.. mailbox '{127.0.0.1:143/norsh}INBOX.phpttest' created +New mailbox created bool(true) Size: %d bool(true) diff --git a/ext/imap/tests/imap_timeout_basic.phpt b/ext/imap/tests/imap_timeout_basic.phpt index f9618c3e3a..e449c3fdec 100644 --- a/ext/imap/tests/imap_timeout_basic.phpt +++ b/ext/imap/tests/imap_timeout_basic.phpt @@ -4,7 +4,7 @@ imap_timeout() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php diff --git a/ext/imap/tests/imap_undelete_basic.phpt b/ext/imap/tests/imap_undelete_basic.phpt index 7cc9ff3847..b792fd093e 100644 --- a/ext/imap/tests/imap_undelete_basic.phpt +++ b/ext/imap/tests/imap_undelete_basic.phpt @@ -4,13 +4,13 @@ imap_undelete() function : basic functionality Olivier Doucet --SKIPIF-- <?php -require_once(__DIR__.'/skipif.inc'); +require_once(__DIR__.'/setup/skipif.inc'); ?> --FILE-- <?php -require_once(__DIR__.'/imap_include.inc'); -$stream_id = setup_test_mailbox('', 1); +require_once(__DIR__.'/setup/imap_include.inc'); +$stream_id = setup_test_mailbox('imapundeletebasic', 1); imap_delete($stream_id, 1); @@ -21,9 +21,10 @@ imap_close($stream_id); ?> --CLEAN-- <?php -require_once('clean.inc'); +$mailbox_suffix = 'imapundeletebasic'; +require_once(__DIR__ . '/setup/clean.inc'); ?> ---EXPECTF-- +--EXPECT-- Create a temporary mailbox and add 1 msgs -.. mailbox '{%s}%s' created +New mailbox created bool(true) diff --git a/ext/imap/tests/imap_utf8.phpt b/ext/imap/tests/imap_utf8.phpt index a82c3721c3..522d4d6f56 100644 --- a/ext/imap/tests/imap_utf8.phpt +++ b/ext/imap/tests/imap_utf8.phpt @@ -11,8 +11,8 @@ var_dump(imap_utf8("test")); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(0) "" string(1) "1" -string(4) "%s" +string(4) "test" Done diff --git a/ext/imap/tests/imap_utf8_to_mutf7_basic.phpt b/ext/imap/tests/imap_utf8_to_mutf7_basic.phpt index 8037ae9491..c0f3b06dc9 100644 --- a/ext/imap/tests/imap_utf8_to_mutf7_basic.phpt +++ b/ext/imap/tests/imap_utf8_to_mutf7_basic.phpt @@ -2,7 +2,6 @@ imap_utf8_to_mutf7 --SKIPIF-- <?php if (!extension_loaded("imap")) print "skip imap extension not loaded"; ?> -<?php if (!function_exists("imap_utf8_to_mutf7")) print "skip imap_utf8_to_mutf7() not available"; ?> --FILE-- <?php diff --git a/ext/imap/tests/setup/clean.inc b/ext/imap/tests/setup/clean.inc new file mode 100644 index 0000000000..608d553b4f --- /dev/null +++ b/ext/imap/tests/setup/clean.inc @@ -0,0 +1,32 @@ +<?php +require_once 'imap_include.inc'; + +if (!isset($mailbox_suffix)) { throw new Exception("No suffix provided"); } + +$imap_stream = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); + +// delete all msgs in default mailbox, i.e INBOX +$check = imap_check($imap_stream); +for ($i = 1; $i <= $check->Nmsgs; $i++) { + imap_delete($imap_stream, $i); +} + + +$mailboxes = imap_getmailboxes($imap_stream, IMAP_SERVER, '*'); + +if (!is_array($mailbox_suffix)) { + $mailbox_suffixes = [$mailbox_suffix]; +} else { + $mailbox_suffixes = $mailbox_suffix; +} + +foreach ($mailbox_suffixes as $mailbox_suffix) { + foreach($mailboxes as $value) { + // Only delete mailbox with our prefix (+ optional test suffix) + if (preg_match('/\{.*?\}INBOX\.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix .'$/', $value->name, $match) == 1) { + imap_deletemailbox($imap_stream, $value->name); + } + } +} + +imap_close($imap_stream, CL_EXPUNGE); diff --git a/ext/imap/tests/dovecot.conf b/ext/imap/tests/setup/dovecot.conf index c465ba3ce9..c465ba3ce9 100644 --- a/ext/imap/tests/dovecot.conf +++ b/ext/imap/tests/setup/dovecot.conf diff --git a/ext/imap/tests/dovecotpass b/ext/imap/tests/setup/dovecotpass index 86a069fc4f..86a069fc4f 100644 --- a/ext/imap/tests/dovecotpass +++ b/ext/imap/tests/setup/dovecotpass diff --git a/ext/imap/tests/imap_include.inc b/ext/imap/tests/setup/imap_include.inc index e57d651697..33e4e5ca16 100644 --- a/ext/imap/tests/imap_include.inc +++ b/ext/imap/tests/setup/imap_include.inc @@ -1,31 +1,34 @@ <?php -// Change these to make tests run successfully -$server = '{127.0.0.1:143/norsh}'; -$default_mailbox = $server . "INBOX"; -$domain = "something.com"; -$admin_user = "webmaster"; // a user with admin access -$username = "$admin_user@$domain"; -$password = 'p4ssw0rd'; -$users = array("webmaster", "info", "admin", "foo"); // tests require 4 valid userids -$mailbox_prefix = "phpttest"; // name used for test mailbox +/** If required change these values to make the test runs */ +const IMAP_SERVER_NO_DEBUG = '{127.0.0.1:143/norsh}'; +const IMAP_SERVER_DEBUG = '{127.0.0.1:143/debug/norsh}'; +const IMAP_SERVER = IMAP_SERVER_DEBUG; +const IMAP_DEFAULT_MAILBOX = IMAP_SERVER . 'INBOX'; +const IMAP_MAIL_DOMAIN = 'something.com'; +const IMAP_ADMIN_USER = 'webmaster'; // a user with admin access +const IMAP_MAILBOX_USERNAME = IMAP_ADMIN_USER . '@' . IMAP_MAIL_DOMAIN; +const IMAP_MAILBOX_PASSWORD = 'p4ssw0rd'; +const IMAP_MAILBOX_PHPT_PREFIX = 'phpttest'; +/** Tests require 4 valid userids */ +const IMAP_USERS = ["webmaster", "info", "admin", "foo"]; + +/** list of fields to expect */ +const MANDATORY_OVERVIEW_FIELDS = [ + 'size', + 'uid', + 'msgno', + 'recent', + 'flagged', + 'answered', + 'deleted', + 'seen', + 'draft', + 'udate', +]; // record test start time (used by displayOverviewFields()) $start_time = time(); -// list of fields to expect -$mandatory_overview_fields = array( - 'size', - 'uid', - 'msgno', - 'recent', - 'flagged', - 'answered', - 'deleted', - 'seen', - 'draft', - 'udate', - ); - /** * Display all fields in an element from an imap_fetch_overview() response * @@ -33,25 +36,23 @@ $mandatory_overview_fields = array( * server with its clock synced to the current system, which is consistent with * setup instructions in ext/imap/tests/README.md * - * @param array resp element from the return value of imap_fetch_overview() + * @param $resp + * @param string[] $fields */ -function displayOverviewFields($resp, $fields=null) { - global $mandatory_overview_fields; - global $start_time; - - foreach ($fields ? $fields : $mandatory_overview_fields as $mf) - { - $z = $resp->$mf; - if ($mf == 'udate') { - if (($z >= $start_time) && ($z <= time())) { - echo "$mf is OK\n"; - } else { - echo "$mf is BAD ($z)\n"; - } - } else { - echo "$mf is $z\n"; +function displayOverviewFields($resp, array $fields = MANDATORY_OVERVIEW_FIELDS) { + global $start_time; + foreach ($fields as $mf) { + $z = $resp->$mf; + if ($mf == 'udate') { + if (($z >= $start_time) && ($z <= time())) { + echo "$mf is OK\n"; + } else { + echo "$mf is BAD ($z)\n"; + } + } else { + echo "$mf is $z\n"; + } } - } } @@ -60,33 +61,27 @@ function displayOverviewFields($resp, $fields=null) { * * @param string mailbox_suffix Suffix used to uniquely identify mailboxes * @param int message_count number of test msgs to be written to new mailbox - * - * @return IMAP stream to new mailbox on success; FALSE on failure + * @param null $new_mailbox + * @param bool $simpleMessages + * @return resource IMAP stream to new mailbox + * @throws Exception */ -function setup_test_mailbox($mailbox_suffix, $message_count, &$new_mailbox = null, $msg_type = "simple"){ - global $server, $default_mailbox, $username, $password; - +function setup_test_mailbox(string $mailbox_suffix, int $message_count, &$new_mailbox = null, bool $simpleMessages = true){ // open a stream to default mailbox - $imap_stream = imap_open($default_mailbox, $username, $password); + $imap_stream = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD); if ($imap_stream === false) { - echo "Cannot connect to IMAP server $server: " . imap_last_error() . "\n"; - return false; + throw new Exception("Cannot connect to IMAP server " . IMAP_SERVER . ": " . imap_last_error()); } echo "Create a temporary mailbox and add " . $message_count . " msgs\n"; - $new_mailbox = create_mailbox($imap_stream, $mailbox_suffix, $message_count, $msg_type); - if ($new_mailbox === false) { - echo "Can't create a temporary mailbox: " . imap_last_error(). "\n"; - return false; - } + $new_mailbox = create_mailbox($imap_stream, $mailbox_suffix, $message_count, $simpleMessages); - echo ".. mailbox '$new_mailbox' created\n"; + echo "New mailbox created\n"; // reopen stream to new mailbox if (imap_reopen($imap_stream, $new_mailbox) === false) { - echo "can't re-open '$new_mailbox' mailbox: " . imap_last_error() . "\n"; - return false; + throw new Exception("Can't re-open '$new_mailbox' mailbox: " . imap_last_error()); } return $imap_stream; @@ -96,11 +91,14 @@ function setup_test_mailbox($mailbox_suffix, $message_count, &$new_mailbox = nul * Create mailbox and fill with generic emails * * @param resource $imap_stream - * @param string $mailbox + * @param string $mailbox_suffix + * @param int $message_count + * @param bool $simpleMessages + * @return string + * @throws Exception */ -function create_mailbox($imap_stream, $mailbox_suffix, $message_count, $msg_type= "simple"){ - global $default_mailbox, $mailbox_prefix; - $mailbox = $default_mailbox . "." . $mailbox_prefix . $mailbox_suffix; +function create_mailbox($imap_stream, string $mailbox_suffix, int $message_count, bool $simpleMessages = true): string { + $mailbox = IMAP_DEFAULT_MAILBOX . '.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix; $mailboxes = imap_getmailboxes($imap_stream, $mailbox, '*'); @@ -108,18 +106,18 @@ function create_mailbox($imap_stream, $mailbox_suffix, $message_count, $msg_type if ($mailboxes) { foreach($mailboxes as $value) { if ($value->name == $mailbox) { - exit ("TEST FAILED : Mailbox '$mailbox' already exists\n"); + throw new Exception("Mailbox '$mailbox' already exists"); } } } if (imap_createmailbox($imap_stream, $mailbox) === false) { - return false; + throw new Exception("Can't create a temporary mailbox: " . imap_last_error()); } // Add number of test msgs requested if ($message_count > 0) { - populate_mailbox($imap_stream, $mailbox, $message_count, $msg_type); + populate_mailbox($imap_stream, $mailbox, $message_count, $simpleMessages); } return $mailbox; @@ -130,21 +128,20 @@ function create_mailbox($imap_stream, $mailbox_suffix, $message_count, $msg_type * * @param resource $imap_stream * @param string $mailbox + * @param int $message_count + * @param bool $simpleMessages */ -function populate_mailbox($imap_stream, $mailbox, $message_count, $msg_type = "simple"){ - - global $users, $domain; - - for($i = 1; $i <= $message_count; $i++) { - if ($msg_type == "simple") { +function populate_mailbox($imap_stream, string $mailbox, int $message_count, bool $simpleMessages = true): void { + for ($i = 1; $i <= $message_count; $i++) { + if ($simpleMessages) { $msg = "From: foo@anywhere.com\r\n" - . "To: $users[0]@$domain\r\n" + . "To: ". IMAP_USERS[0] . "@" . IMAP_MAIL_DOMAIN . "\r\n" . "Subject: test$i\r\n" . "\r\n" - . "$i: this is a test message, please ignore\r\n"; + . "$i: this is a test message, please ignore\r\nnewline"; } else { $envelope["from"]= "foo@anywhere.com"; - $envelope["to"] = "$users[0]@$domain"; + $envelope["to"] = IMAP_USERS[0] . "@" . IMAP_MAIL_DOMAIN; $envelope["subject"] = "Test msg $i"; $part1["type"] = TYPEMULTIPART; @@ -181,16 +178,13 @@ function populate_mailbox($imap_stream, $mailbox, $message_count, $msg_type = "s * Get the mailbox name from a mailbox description, i.e strip off server details. * * @param string mailbox complete mailbox name - * @return mailbox name + * @return string mailbox name */ -function get_mailbox_name($mailbox){ +function get_mailbox_name(string $mailboxName): string { - if (preg_match('/\{.*?\}(.*)/', $mailbox, $match) != 1) { - echo "Unrecpognized mailbox name\n"; - return false; + if (preg_match('/\{.*?\}(.*)/', $mailboxName, $match) != 1) { + throw new Exception("Unrecognized mailbox name '$mailboxName'"); } return $match[1]; } - -?> diff --git a/ext/imap/tests/setup.sh b/ext/imap/tests/setup/setup.sh index 5cb18334a3..efa7c30310 100644 --- a/ext/imap/tests/setup.sh +++ b/ext/imap/tests/setup/setup.sh @@ -1,6 +1,6 @@ sudo service dovecot stop sudo groupadd -g 5000 vmail sudo useradd -m -d /var/vmail -s /bin/false -u 5000 -g vmail vmail -sudo cp ext/imap/tests/dovecot.conf /etc/dovecot/dovecot.conf -sudo cp ext/imap/tests/dovecotpass /etc/dovecot/dovecotpass +sudo cp ext/imap/tests/setup/dovecot.conf /etc/dovecot/dovecot.conf +sudo cp ext/imap/tests/setup/dovecotpass /etc/dovecot/dovecotpass sudo service dovecot start diff --git a/ext/imap/tests/setup/skipif.inc b/ext/imap/tests/setup/skipif.inc new file mode 100644 index 0000000000..c7dc24efd7 --- /dev/null +++ b/ext/imap/tests/setup/skipif.inc @@ -0,0 +1,13 @@ +<?php +extension_loaded('imap') or die('skip imap extension not available in this build'); + +include __DIR__ . '/imap_include.inc'; + +$options = OP_HALFOPEN; // this should be enough to verify server present +$retries = 0; // don't retry connect on failure + +$mbox = @imap_open(IMAP_SERVER, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, $options, $retries); +if (!$mbox) { + die("skip could not connect to mailbox " . IMAP_SERVER); +} +imap_close($mbox); diff --git a/ext/imap/tests/skipif.inc b/ext/imap/tests/skipif.inc deleted file mode 100644 index 2167ad1d0c..0000000000 --- a/ext/imap/tests/skipif.inc +++ /dev/null @@ -1,16 +0,0 @@ -<?php -extension_loaded('imap') or die('skip imap extension not available in this build'); - -// Change these to make tests run successfully -$mailbox = '{127.0.0.1:143/debug/norsh}'; -$username = 'webmaster@something.com'; -$password = 'p4ssw0rd'; -$options = OP_HALFOPEN; // this should be enough to verify server present -$retries = 0; // don't retry connect on failure - -$mbox = @imap_open($mailbox, $username, $password, $options, $retries); -if (!$mbox) { - die("skip could not connect to mailbox $mailbox"); -} -imap_close($mbox); -?> |