zoe Fri Jan 23 15:29:22 2009 UTC Added files: /php-src/ext/imap/tests imap_fetchheader_error.phpt imap_fetchheader_variation3.phpt imap_fetchheader_variation5.phpt imap_fetchheader_variation2.phpt imap_fetchheader_variation1.phpt imap_fetchheader_variation4.phpt imap_fetchheader_basic.phpt Log: IMAP fetchheader tests
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_error.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_error.phpt +++ php-src/ext/imap/tests/imap_fetchheader_error.phpt --TEST-- Test imap_fetchheader() function : error conditions - incorrect number of args --SKIPIF-- <?php require_once(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */
/* * Pass an incorrect number of arguments to imap_fetchheader() to test behaviour */ echo "*** Testing imap_fetchheader() : error conditions ***\n"; require_once(dirname(__FILE__).'/imap_include.inc'); //Test imap_fetchheader with one more than the expected number of arguments echo "\n-- Testing imap_fetchheader() function with more than expected no. of arguments --\n"; $stream_id = imap_open($server, $username, $password); $msg_no = 10; $options = 10; $extra_arg = 10; var_dump( imap_fetchheader($stream_id, $msg_no, $options, $extra_arg) ); // Testing imap_fetchheader with one less than the expected number of arguments echo "\n-- Testing imap_fetchheader() function with less than expected no. of arguments --\n"; var_dump( imap_fetchheader($stream_id) ); imap_close($stream_id); ?> ===DONE=== --EXPECTF-- *** Testing imap_fetchheader() : error conditions *** -- Testing imap_fetchheader() function with more than expected no. of arguments -- Warning: imap_fetchheader() expects at most 3 parameters, 4 given in %s on line %d NULL -- Testing imap_fetchheader() function with less than expected no. of arguments -- Warning: imap_fetchheader() expects at least 2 parameters, 1 given in %s on line %d NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_variation3.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_variation3.phpt +++ php-src/ext/imap/tests/imap_fetchheader_variation3.phpt --TEST-- Test imap_fetchheader() function : usage variations - FT_UID option --SKIPIF-- <?php require_once(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ /* * Test if FT_UID is set by passing the following as $options argument to imap_fetchheader(): * 1. values that equate to 1 * 2. Minimum and maximum PHP values */ echo "*** Testing imap_fetchheader() : usage variations ***\n"; require_once(dirname(__FILE__).'/imap_include.inc'); // Initialise required variables $stream_id = setup_test_mailbox('', 1); // set up temporary mailbox with one simple message $msg_no = 1; $msg_uid = imap_uid($stream_id, $msg_no); $options = array ('1', true, 1.000000000000001, 0.00001e5, PHP_INT_MAX, -PHP_INT_MAX); // iterate over each element of $options array to test whether FT_UID is set $iterator = 1; imap_check($stream_id); foreach($options as $option) { echo "\n-- Iteration $iterator --\n"; if(is_string(imap_fetchheader($stream_id, $msg_uid, $option))) { echo "FT_UID valid\n"; } else { echo "FT_UID not valid\n"; } $iterator++; } ?> ===DONE=== --CLEAN-- <?php require_once(dirname(__FILE__).'/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** Create a temporary mailbox and add 1 msgs... mailbox '{localhost/norsh}INBOX.phpttest' created -- Iteration 1 -- FT_UID valid -- Iteration 2 -- FT_UID valid -- Iteration 3 -- FT_UID valid -- Iteration 4 -- FT_UID valid -- Iteration 5 -- Warning: imap_fetchheader(): invalid value for the options parameter in %s on line %d FT_UID not valid -- Iteration 6 -- Warning: imap_fetchheader(): invalid value for the options parameter in %s on line %d FT_UID not valid ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_variation5.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_variation5.phpt +++ php-src/ext/imap/tests/imap_fetchheader_variation5.phpt --TEST-- Test imap_fetchheader() function : usage variations - $msg_no argument --XFAIL-- Missing unicode implementation in ext/imap --SKIPIF-- <?php require_once(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ /* * Pass different integers and strings as $msg_no argument * to test behaviour of imap_fetchheader() */ echo "*** Testing imap_fetchheader() : usage variations ***\n"; require_once(dirname(__FILE__).'/imap_include.inc'); $stream_id = setup_test_mailbox('', 3, $mailbox, 'notSimple'); // set up temp mailbox with 3 msgs $sequences = array (0, 4, // out of range '1,3', '1:3', // message sequences instead of numbers ); foreach($sequences as $msg_no) { echo "\n-- \$msg_no is $msg_no --\n"; var_dump($overview = imap_fetchheader($stream_id, $msg_no)); if (!$overview) { echo imap_last_error() . "\n"; } } // clear error stack imap_errors(); ?> ===DONE=== --CLEAN-- <?php require_once(dirname(__FILE__).'/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** Create a temporary mailbox and add 3 msgs... mailbox '{localhost/norsh}INBOX.phpttest' created -- $msg_no is 0 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- $msg_no is 4 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- $msg_no is 1,3 -- Notice: A non well formed numeric value encountered in %s on line %d %unicode|string%(%d) "From: f...@anywhere.com Subject: Test msg 1 To: webmas...@something.com MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY="%s" " -- $msg_no is 1:3 -- Notice: A non well formed numeric value encountered in %s on line %d %unicode|string%(%d) "From: f...@anywhere.com Subject: Test msg 1 To: webmas...@something.com MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY="%s" " ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_variation2.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_variation2.phpt +++ php-src/ext/imap/tests/imap_fetchheader_variation2.phpt --TEST-- Test imap_fetchheader() function : usage variations - diff data types for $msg_no arg --XFAIL-- Missing unicode implementation in ext/imap --SKIPIF-- <?php require_once(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ /* * Pass different data types as $msg_no argument to test behaviour of imap_fetchheader() */ echo "*** Testing imap_fetchheader() : usage variations ***\n"; require_once(dirname(__FILE__).'/imap_include.inc'); // Initialise function arguments not being substituted $stream_id = setup_test_mailbox('', 1, $mailbox, 'notSimple'); // set up temp mailbox with 1 msg //get an unset variable $unset_var = 10; unset ($unset_var); // get a class class classA { public function __toString() { return "Class A object"; } } // heredoc string $heredoc = <<<EOT hello world EOT; $index_array = array (1, 2, 3); $assoc_array = array ('one' => 1, 'two' => 2); // get a resource variable $fp = fopen(__FILE__, "r"); // unexpected values to be passed to $msg_no argument $inputs = array( // int data /*1*/ 0, 1, 12345, -2345, // float data /*5*/ 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5, // null data /*10*/ NULL, null, // boolean data /*12*/ true, false, TRUE, FALSE, // empty data /*16*/ "", '', // string data /*18*/ "string", 'string', $heredoc, // array data /*21*/ array(), $index_array, $assoc_array, array('foo', $index_array, $assoc_array), // object data /*25*/ new classA(), // undefined data /*26*/ @$undefined_var, // unset data /*27*/ @$unset_var, // resource variable /*28*/ $fp ); // loop through each element of $inputs to check the behavior of imap_fetchheader() $iterator = 1; foreach($inputs as $input) { echo "\n-- Iteration $iterator --\n"; var_dump( imap_fetchheader($stream_id, $input) ); $iterator++; }; fclose($fp); ?> ===DONE=== --CLEAN-- <?php require_once(dirname(__FILE__).'/clean.inc'); ?> ===DONE=== --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** Create a temporary mailbox and add 1 msgs... mailbox '{localhost/norsh}INBOX.phpttest' created -- Iteration 1 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 2 -- %unicode|string%(%d) "From: f...@anywhere.com Subject: Test msg 1 To: webmas...@something.com MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY="%s" " -- Iteration 3 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 4 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 5 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 6 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 7 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 8 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 9 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 10 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 11 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 12 -- %unicode|string%(%d) "From: f...@anywhere.com Subject: Test msg 1 To: webmas...@something.com MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY="%s" " -- Iteration 13 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 14 -- %unicode|string%(%d) "From: f...@anywhere.com Subject: Test msg 1 To: webmas...@something.com MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY="%s" " -- Iteration 15 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 16 -- Warning: imap_fetchheader() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d NULL -- Iteration 17 -- Warning: imap_fetchheader() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d NULL -- Iteration 18 -- Warning: imap_fetchheader() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d NULL -- Iteration 19 -- Warning: imap_fetchheader() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d NULL -- Iteration 20 -- Warning: imap_fetchheader() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d NULL -- Iteration 21 -- Warning: imap_fetchheader() expects parameter 2 to be long, array given in %s on line %d NULL -- Iteration 22 -- Warning: imap_fetchheader() expects parameter 2 to be long, array given in %s on line %d NULL -- Iteration 23 -- Warning: imap_fetchheader() expects parameter 2 to be long, array given in %s on line %d NULL -- Iteration 24 -- Warning: imap_fetchheader() expects parameter 2 to be long, array given in %s on line %d NULL -- Iteration 25 -- Warning: imap_fetchheader() expects parameter 2 to be long, object given in %s on line %d NULL -- Iteration 26 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 27 -- Warning: imap_fetchheader(): Bad message number in %s on line %d bool(false) -- Iteration 28 -- Warning: imap_fetchheader() expects parameter 2 to be long, resource given in %s on line %d NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_variation1.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_variation1.phpt +++ php-src/ext/imap/tests/imap_fetchheader_variation1.phpt --TEST-- Test imap_fetchheader() function : usage variations - diff data types as $stream_id arg --SKIPIF-- <?php extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ /* * Pass different data types as $stream_id argument to test behaviour of imap_fetchheader() */ echo "*** Testing imap_fetchheader() : usage variations ***\n"; // Initialise function arguments not being substituted $msg_no = 1; //get an unset variable $unset_var = 10; unset ($unset_var); // get a class class classA { public function __toString() { return "Class A object"; } } // heredoc string $heredoc = <<<EOT hello world EOT; // get different types of array $index_array = array (1, 2, 3); $assoc_array = array ('one' => 1, 'two' => 2); // get a resource variable $fp = fopen(__FILE__, "r"); // unexpected values to be passed to $stream_id argument $inputs = array( // int data /*1*/ 0, 1, 12345, -2345, // float data /*5*/ 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5, // null data /*10*/ NULL, null, // boolean data /*12*/ true, false, TRUE, FALSE, // empty data /*16*/ "", '', // string data /*18*/ "string", 'string', $heredoc, // array data /*21*/ array(), $index_array, $assoc_array, array('foo', $index_array, $assoc_array), // object data /*25*/ new classA(), // undefined data /*26*/ @$undefined_var, // unset data /*27*/ @$unset_var, ); // loop through each element of $inputs to check the behavior of imap_fetchheader() $iterator = 1; foreach($inputs as $input) { echo "\n-- Iteration $iterator --\n"; var_dump( imap_fetchheader($input, $msg_no) ); $iterator++; }; ?> ===DONE=== --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** -- Iteration 1 -- Warning: imap_fetchheader() expects parameter 1 to be resource, integer given in %s on line %d NULL -- Iteration 2 -- Warning: imap_fetchheader() expects parameter 1 to be resource, integer given in %s on line %d NULL -- Iteration 3 -- Warning: imap_fetchheader() expects parameter 1 to be resource, integer given in %s on line %d NULL -- Iteration 4 -- Warning: imap_fetchheader() expects parameter 1 to be resource, integer given in %s on line %d NULL -- Iteration 5 -- Warning: imap_fetchheader() expects parameter 1 to be resource, double given in %s on line %d NULL -- Iteration 6 -- Warning: imap_fetchheader() expects parameter 1 to be resource, double given in %s on line %d NULL -- Iteration 7 -- Warning: imap_fetchheader() expects parameter 1 to be resource, double given in %s on line %d NULL -- Iteration 8 -- Warning: imap_fetchheader() expects parameter 1 to be resource, double given in %s on line %d NULL -- Iteration 9 -- Warning: imap_fetchheader() expects parameter 1 to be resource, double given in %s on line %d NULL -- Iteration 10 -- Warning: imap_fetchheader() expects parameter 1 to be resource, null given in %s on line %d NULL -- Iteration 11 -- Warning: imap_fetchheader() expects parameter 1 to be resource, null given in %s on line %d NULL -- Iteration 12 -- Warning: imap_fetchheader() expects parameter 1 to be resource, boolean given in %s on line %d NULL -- Iteration 13 -- Warning: imap_fetchheader() expects parameter 1 to be resource, boolean given in %s on line %d NULL -- Iteration 14 -- Warning: imap_fetchheader() expects parameter 1 to be resource, boolean given in %s on line %d NULL -- Iteration 15 -- Warning: imap_fetchheader() expects parameter 1 to be resource, boolean given in %s on line %d NULL -- Iteration 16 -- Warning: imap_fetchheader() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d NULL -- Iteration 17 -- Warning: imap_fetchheader() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d NULL -- Iteration 18 -- Warning: imap_fetchheader() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d NULL -- Iteration 19 -- Warning: imap_fetchheader() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d NULL -- Iteration 20 -- Warning: imap_fetchheader() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d NULL -- Iteration 21 -- Warning: imap_fetchheader() expects parameter 1 to be resource, array given in %s on line %d NULL -- Iteration 22 -- Warning: imap_fetchheader() expects parameter 1 to be resource, array given in %s on line %d NULL -- Iteration 23 -- Warning: imap_fetchheader() expects parameter 1 to be resource, array given in %s on line %d NULL -- Iteration 24 -- Warning: imap_fetchheader() expects parameter 1 to be resource, array given in %s on line %d NULL -- Iteration 25 -- Warning: imap_fetchheader() expects parameter 1 to be resource, object given in %s on line %d NULL -- Iteration 26 -- Warning: imap_fetchheader() expects parameter 1 to be resource, null given in %s on line %d NULL -- Iteration 27 -- Warning: imap_fetchheader() expects parameter 1 to be resource, null given in %s on line %d NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_variation4.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_variation4.phpt +++ php-src/ext/imap/tests/imap_fetchheader_variation4.phpt --TEST-- Test imap_fetchheader() function : usage variations - diff resource types as $stream_id --SKIPIF-- <?php extension_loaded('imap') or die('skip imap extension not available in this build'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ /* * Pass different types of resources to imap_fetchheader() to test behaviour */ echo "*** Testing imap_fetchheader() : usage variations ***\n"; echo "\n-- File Resource opened with fopen() --\n"; var_dump($file_pointer = fopen(__FILE__, 'r+')); var_dump(imap_fetchheader($file_pointer, 1)); fclose($file_pointer); echo "\n-- Directory Resource opened with opendir() --\n"; var_dump($dir_handle = opendir(dirname(__FILE__))); var_dump(imap_fetchheader($dir_handle, 1)); closedir($dir_handle); ?> ===DONE=== --EXPECTF-- *** Testing imap_fetchheader() : usage variations *** -- File Resource opened with fopen() -- resource(%d) of type (stream) Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d bool(false) -- Directory Resource opened with opendir() -- resource(%d) of type (stream) Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d bool(false) ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_fetchheader_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/imap/tests/imap_fetchheader_basic.phpt +++ php-src/ext/imap/tests/imap_fetchheader_basic.phpt --TEST-- Test imap_fetchheader() function : basic functionality --XFAIL-- To fix: change zend_hash_find() to zend_ascii_hash_find() in php_imap.c (imap_mail_compose()). --SKIPIF-- <?php require_once(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- <?php /* Prototype : string imap_fetchheader(resource $stream_id, int $msg_no [, int $options]) * Description: Get the full unfiltered header for a message * Source code: ext/imap/php_imap.c */ echo "*** Testing imap_fetchheader() : basic functionality ***\n"; require_once(dirname(__FILE__).'/imap_include.inc'); // Initialise all required variables $stream_id = setup_test_mailbox('', 1, $mailbox, 'multiPart'); // setup temp mailbox with 1 msg $msg_no = 1; $options = array('FT_UID' => FT_UID, 'FT_INTERNAL' => FT_INTERNAL, 'FT_PREFETCHTEXT' => FT_PREFETCHTEXT); // Calling imap_fetchheader() with all possible arguments echo "\n-- All possible arguments --\n"; foreach ($options as $key => $option) { echo "-- Option is $key --\n"; if ($key == 'FT_UID') { $msg_uid = imap_uid($stream_id, $msg_no); var_dump(imap_fetchheader($stream_id, $msg_uid, $option)); } else { var_dump(imap_fetchheader($stream_id, $msg_no, $option)); } } // Calling imap_fetchheader() with mandatory arguments echo "\n-- Mandatory arguments --\n"; var_dump( imap_fetchheader($stream_id, $msg_no) ); ?> ===DONE=== --CLEAN-- <?php require_once(dirname(__FILE__).'/clean.inc'); ?> --EXPECTF-- *** Testing imap_fetchheader() : basic functionality *** Create a temporary mailbox and add 1 msgs... mailbox '%s.phpttest' created -- All possible arguments -- -- Option is FT_UID -- string(%d) "From: f...@anywhere.com Subject: Test msg 1 To: %s MIME-Version: 1.0 Content-Type: %s; %s " -- Option is FT_INTERNAL -- string(%d) "From: f...@anywhere.com Subject: Test msg 1 To: %s MIME-Version: 1.0 Content-Type: %s; %s " -- Option is FT_PREFETCHTEXT -- string(%d) "From: f...@anywhere.com Subject: Test msg 1 To: %s MIME-Version: 1.0 Content-Type: %s; %s " -- Mandatory arguments -- string(%d) "From: f...@anywhere.com Subject: Test msg 1 To: %s MIME-Version: 1.0 Content-Type: %s; %s " ===DONE===
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php