mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
tests for imap_fetch_overview
This commit is contained in:
parent
8f245aaf94
commit
30286f90b3
8 changed files with 1038 additions and 0 deletions
118
ext/imap/tests/imap_fetch_overview_basic.phpt
Normal file
118
ext/imap/tests/imap_fetch_overview_basic.phpt
Normal file
|
@ -0,0 +1,118 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : basic functionality
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : basic functionality ***\n";
|
||||
|
||||
require_once(dirname(__FILE__).'/imap_include.inc');
|
||||
|
||||
// create a new mailbox and add two new messages to it
|
||||
$stream_id = setup_test_mailbox('', 2, $mailbox, 'notSimple');
|
||||
|
||||
// get UID for new message
|
||||
$msg_no = imap_uid($stream_id, 1);
|
||||
$options = FT_UID;
|
||||
|
||||
//Set mandatory response fields
|
||||
$mandatoryFields = array(
|
||||
'size',
|
||||
'uid',
|
||||
'msgno',
|
||||
'recent',
|
||||
'flagged',
|
||||
'answered',
|
||||
'deleted',
|
||||
'seen',
|
||||
'draft',
|
||||
);
|
||||
|
||||
// Calling imap_fetch_overview() with all possible arguments
|
||||
echo "\n-- All possible arguments --\n";
|
||||
$a = imap_fetch_overview($stream_id, "$msg_no", $options) ;
|
||||
echo "\n--> Object #1\n";
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $a[0]->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
|
||||
// Calling imap_fetch_overview() with mandatory arguments
|
||||
echo "\n-- Mandatory arguments --\n";
|
||||
$a = imap_fetch_overview($stream_id, '1:2') ;
|
||||
|
||||
//first object in array
|
||||
echo "\n--> Object #1\n";
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $a[0]->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
|
||||
//Second object in array
|
||||
echo "\n--> Object #2\n";
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $a[1]->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
|
||||
imap_close($stream_id);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : basic functionality ***
|
||||
Create a temporary mailbox and add 2 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
-- All possible arguments --
|
||||
|
||||
--> Object #1
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- Mandatory arguments --
|
||||
|
||||
--> Object #1
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
--> Object #2
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 2
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
===DONE===
|
54
ext/imap/tests/imap_fetch_overview_error.phpt
Normal file
54
ext/imap/tests/imap_fetch_overview_error.phpt
Normal file
|
@ -0,0 +1,54 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : error conditions - incorrect number of args
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass an incorrect number of arguments to imap_fetch_overview() to test behaviour
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : error conditions ***\n";
|
||||
|
||||
require_once(dirname(__FILE__).'/imap_include.inc');
|
||||
|
||||
//Test imap_fetch_overview with one more than the expected number of arguments
|
||||
echo "\n-- Testing imap_fetch_overview() function with more than expected no. of arguments --\n";
|
||||
$stream_id = setup_test_mailbox('', 2, $mailbox, 'notSimple'); // set up temp mailbox with 2 msgs
|
||||
$msg_no = 1;
|
||||
$options = FT_UID;
|
||||
$extra_arg = 10;
|
||||
var_dump( imap_fetch_overview($stream_id, $msg_no, $options, $extra_arg) );
|
||||
|
||||
// Testing imap_fetch_overview with one less than the expected number of arguments
|
||||
echo "\n-- Testing imap_fetch_overview() function with less than expected no. of arguments --\n";
|
||||
var_dump( imap_fetch_overview($stream_id) );
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : error conditions ***
|
||||
|
||||
-- Testing imap_fetch_overview() function with more than expected no. of arguments --
|
||||
Create a temporary mailbox and add 2 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
Warning: imap_fetch_overview() expects at most 3 parameters, 4 given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing imap_fetch_overview() function with less than expected no. of arguments --
|
||||
|
||||
Warning: imap_fetch_overview() expects at least 2 parameters, 1 given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
221
ext/imap/tests/imap_fetch_overview_variation1.phpt
Normal file
221
ext/imap/tests/imap_fetch_overview_variation1.phpt
Normal file
|
@ -0,0 +1,221 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() 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 : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass different data types as $stream_id argument to imap_fetch_overview() to test behaviour
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : 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;
|
||||
|
||||
// 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*/ "",
|
||||
'',
|
||||
array(),
|
||||
|
||||
// string data
|
||||
/*19*/ "string",
|
||||
'string',
|
||||
$heredoc,
|
||||
|
||||
// object data
|
||||
/*22*/ new classA(),
|
||||
|
||||
// undefined data
|
||||
/*23*/ @$undefined_var,
|
||||
|
||||
// unset data
|
||||
/*24*/ @$unset_var,
|
||||
);
|
||||
|
||||
// loop through each element of $inputs to check the behavior of imap_fetch_overview()
|
||||
$iterator = 1;
|
||||
foreach($inputs as $input) {
|
||||
echo "\n-- Testing with first argument value: ";
|
||||
var_dump($input);
|
||||
var_dump( imap_fetch_overview($input, $msg_no) );
|
||||
$iterator++;
|
||||
};
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
|
||||
-- Testing with first argument value: int(0)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, integer given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: int(1)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, integer given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: int(12345)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, integer given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: int(-2345)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, integer given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: float(10.5)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, double given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: float(-10.5)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, double given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: float(123456789000)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, double given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: float(1.23456789E-9)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, double given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: float(0.5)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, double given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: NULL
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, null given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: NULL
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, null given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: bool(true)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, boolean given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: bool(false)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, boolean given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: bool(true)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, boolean given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: bool(false)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, boolean given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: %string|unicode%(0) ""
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: %string|unicode%(0) ""
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: array(0) {
|
||||
}
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, array given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: %string|unicode%(6) "string"
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: %string|unicode%(6) "string"
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: %string|unicode%(11) "hello world"
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: object(classA)#1 (0) {
|
||||
}
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, object given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: NULL
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, null given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing with first argument value: NULL
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 1 to be resource, null given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
245
ext/imap/tests/imap_fetch_overview_variation2.phpt
Normal file
245
ext/imap/tests/imap_fetch_overview_variation2.phpt
Normal file
|
@ -0,0 +1,245 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : usage variations - diff data types as $msg_no arg
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass different data types as $msg_no argument to imap_fetch_overview() to test behaviour
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : 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
|
||||
|
||||
//Set mandatory response fields
|
||||
$mandatoryFields = array(
|
||||
'size',
|
||||
'uid',
|
||||
'msgno',
|
||||
'recent',
|
||||
'flagged',
|
||||
'answered',
|
||||
'deleted',
|
||||
'seen',
|
||||
'draft',
|
||||
);
|
||||
|
||||
|
||||
//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 a resource variable
|
||||
$fp = fopen(__FILE__, "r");
|
||||
|
||||
// unexpected values to be passed to <<<ARGUMENT HERE>>> 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*/ "",
|
||||
'',
|
||||
array(),
|
||||
|
||||
// string data
|
||||
/*19*/ "string",
|
||||
'string',
|
||||
$heredoc,
|
||||
|
||||
// object data
|
||||
/*22*/ new classA(),
|
||||
|
||||
// undefined data
|
||||
/*23*/ @$undefined_var,
|
||||
|
||||
// unset data
|
||||
/*24*/ @$unset_var,
|
||||
|
||||
// resource variable
|
||||
/*25*/ $fp
|
||||
);
|
||||
|
||||
// loop through each element of $inputs to check the behavior of imap_fetch_overview()
|
||||
$iterator = 1;
|
||||
foreach($inputs as $input) {
|
||||
echo "\n-- Testing with second argument value: ";
|
||||
var_dump($input);
|
||||
$overview = imap_fetch_overview($stream_id, $input);
|
||||
if (!$overview) {
|
||||
echo imap_last_error() . "\n";
|
||||
} else {
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $overview[0]->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
}
|
||||
$iterator++;
|
||||
};
|
||||
|
||||
fclose($fp);
|
||||
|
||||
// clear the error stack
|
||||
imap_errors();
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
Create a temporary mailbox and add 1 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
-- Testing with second argument value: int(0)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: int(1)
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- Testing with second argument value: int(12345)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: int(-2345)
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: float(10.5)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: float(-10.5)
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: float(123456789000)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: float(1.23456789E-9)
|
||||
Sequence syntax error
|
||||
|
||||
-- Testing with second argument value: float(0.5)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: NULL
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: NULL
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: bool(true)
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- Testing with second argument value: bool(false)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: bool(true)
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- Testing with second argument value: bool(false)
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: %string|unicode%(0) ""
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: %string|unicode%(0) ""
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: array(0) {
|
||||
}
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, array given in %s on line %d
|
||||
Sequence out of range
|
||||
|
||||
-- Testing with second argument value: %string|unicode%(6) "string"
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: %string|unicode%(6) "string"
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: %string|unicode%(11) "hello world"
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: object(classA)#1 (0) {
|
||||
}
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: NULL
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: NULL
|
||||
Syntax error in sequence
|
||||
|
||||
-- Testing with second argument value: resource(7) of type (stream)
|
||||
|
||||
Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, resource given in %s on line %d
|
||||
Syntax error in sequence
|
||||
===DONE===
|
80
ext/imap/tests/imap_fetch_overview_variation3.phpt
Normal file
80
ext/imap/tests/imap_fetch_overview_variation3.phpt
Normal file
|
@ -0,0 +1,80 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : usage variations - FT_UID option
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test passing a range of values into the $options argument to imap_fetch_overview():
|
||||
* 1. values that equate to 1
|
||||
* 2. Minimum and maximum PHP values
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : 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
|
||||
$iterator = 1;
|
||||
imap_check($stream_id);
|
||||
foreach($options as $option) {
|
||||
echo "\nTesting with option value:";
|
||||
var_dump($option);
|
||||
$overview = imap_fetch_overview($stream_id, $msg_uid, $option);
|
||||
if ($overview) {
|
||||
echo "imap_fetch_overview() returns an object\n";
|
||||
}
|
||||
$iterator++;
|
||||
}
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
Create a temporary mailbox and add 1 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
Testing with option value:%string|unicode%(1) "1"
|
||||
imap_fetch_overview() returns an object
|
||||
|
||||
Testing with option value:bool(true)
|
||||
imap_fetch_overview() returns an object
|
||||
|
||||
Testing with option value:float(1)
|
||||
imap_fetch_overview() returns an object
|
||||
|
||||
Testing with option value:float(1)
|
||||
imap_fetch_overview() returns an object
|
||||
|
||||
Testing with option value:int(%d)
|
||||
|
||||
Warning: imap_fetch_overview(): invalid value for the options parameter in %s on line %d
|
||||
|
||||
Testing with option value:int(-%d)
|
||||
|
||||
Warning: imap_fetch_overview(): invalid value for the options parameter in %s on line %d
|
||||
===DONE===
|
46
ext/imap/tests/imap_fetch_overview_variation4.phpt
Normal file
46
ext/imap/tests/imap_fetch_overview_variation4.phpt
Normal file
|
@ -0,0 +1,46 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : usage variations - different resources as $stream_id
|
||||
--SKIPIF--
|
||||
<?php
|
||||
extension_loaded('imap') or die('skip imap extension not available in this build');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass different resource types to imap_fetch_overview() to test behaviour
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : usage variations ***\n";
|
||||
|
||||
echo "\n-- File Resource opened with fopen() --\n";
|
||||
var_dump($file_pointer = fopen(__FILE__, 'r+'));
|
||||
var_dump(imap_fetch_overview($file_pointer, 1));
|
||||
fclose($file_pointer);
|
||||
|
||||
echo "\n-- Directory Resource opened with opendir() --\n";
|
||||
var_dump($dir_handle = opendir(dirname(__FILE__)));
|
||||
var_dump(imap_fetch_overview($dir_handle, 1));
|
||||
closedir($dir_handle);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
|
||||
-- File Resource opened with fopen() --
|
||||
resource(%d) of type (stream)
|
||||
|
||||
Warning: imap_fetch_overview(): 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_fetch_overview(): supplied resource is not a valid imap resource in %s on line %d
|
||||
bool(false)
|
||||
===DONE===
|
149
ext/imap/tests/imap_fetch_overview_variation5.phpt
Normal file
149
ext/imap/tests/imap_fetch_overview_variation5.phpt
Normal file
|
@ -0,0 +1,149 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : usage variations - $msg_no argument
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers
|
||||
* of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass different sequences/msg numbers as $msg_no argument to test behaviour
|
||||
* of imap_fetch_overview()
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : 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
|
||||
|
||||
//Set mandatory response fields
|
||||
$mandatoryFields = array(
|
||||
'size',
|
||||
'uid',
|
||||
'msgno',
|
||||
'recent',
|
||||
'flagged',
|
||||
'answered',
|
||||
'deleted',
|
||||
'seen',
|
||||
'draft',
|
||||
);
|
||||
|
||||
$sequences = array (0, 4, '4', // out of range
|
||||
'2', '1,3', '1, 2',
|
||||
'1:3'); // pass uid without setting FT_UID option
|
||||
|
||||
foreach($sequences as $msg_no) {
|
||||
echo "\n-- \$msg_no is $msg_no --\n";
|
||||
$overview = imap_fetch_overview($stream_id, $msg_no);
|
||||
if (!$overview) {
|
||||
echo imap_last_error() . "\n";
|
||||
} else {
|
||||
foreach($overview as $ov) {
|
||||
echo "\n";
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $ov->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// clear error stack
|
||||
imap_errors();
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
Create a temporary mailbox and add 3 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
-- $msg_no is 0 --
|
||||
Sequence out of range
|
||||
|
||||
-- $msg_no is 4 --
|
||||
Sequence out of range
|
||||
|
||||
-- $msg_no is 4 --
|
||||
Sequence out of range
|
||||
|
||||
-- $msg_no is 2 --
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 2
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- $msg_no is 1,3 --
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 3
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
-- $msg_no is 1, 2 --
|
||||
Syntax error in sequence
|
||||
|
||||
-- $msg_no is 1:3 --
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 2
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 3
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
===DONE===
|
125
ext/imap/tests/imap_fetch_overview_variation6.phpt
Normal file
125
ext/imap/tests/imap_fetch_overview_variation6.phpt
Normal file
|
@ -0,0 +1,125 @@
|
|||
--TEST--
|
||||
Test imap_fetch_overview() function : usage variations - multipart message
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/skipif.inc');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
||||
* Description: Read an overview of the information in the headers of the given message sequence
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pass a multipart message to imap_fetch_overview() to test the contents of returned array
|
||||
*/
|
||||
|
||||
echo "*** Testing imap_fetch_overview() : usage variations ***\n";
|
||||
|
||||
require_once(dirname(__FILE__).'/imap_include.inc');
|
||||
|
||||
$stream_id = setup_test_mailbox('', 0, $mailbox); // setup temp mailbox
|
||||
create_multipart_message($stream_id, $mailbox);
|
||||
|
||||
//Set mandatory response fields
|
||||
$mandatoryFields = array(
|
||||
'size',
|
||||
'uid',
|
||||
'msgno',
|
||||
'recent',
|
||||
'flagged',
|
||||
'answered',
|
||||
'deleted',
|
||||
'seen',
|
||||
'draft',
|
||||
);
|
||||
|
||||
// refresh msg numbers
|
||||
imap_check($stream_id);
|
||||
$msg_no = 1;
|
||||
|
||||
$a = imap_fetch_overview($stream_id, $msg_no);
|
||||
echo "\n--> Object #1\n";
|
||||
foreach ($mandatoryFields as $mf)
|
||||
{
|
||||
$z = $a[0]->$mf;
|
||||
echo "$mf is $z\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Create a multipart message with subparts
|
||||
*
|
||||
* @param resource $imap_stream
|
||||
* @param string $mailbox
|
||||
*/
|
||||
function create_multipart_message($imap_stream, $mailbox) {
|
||||
global $users, $domain;
|
||||
$envelope["from"]= "foo@anywhere.com";
|
||||
$envelope["to"] = "$users[0]@$domain";
|
||||
$envelope["subject"] = "Test msg 1";
|
||||
|
||||
$part1["type"] = TYPEMULTIPART;
|
||||
$part1["subtype"] = "mixed";
|
||||
|
||||
$part2["type"] = TYPETEXT;
|
||||
$part2["subtype"] = "plain";
|
||||
$part2["description"] = "imap_mail_compose() function";
|
||||
$part2["contents.data"] = "message 1:xxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
|
||||
$part3["type"] = TYPETEXT;
|
||||
$part3["subtype"] = "plain";
|
||||
$part3["description"] = "Example";
|
||||
$part3["contents.data"] = "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy";
|
||||
|
||||
$file_handle = fopen(__FILE__, 'r+');
|
||||
$file_size = 1;
|
||||
|
||||
$part4["type"] = TYPEAPPLICATION;
|
||||
$part4["encoding"] = ENCBASE64;
|
||||
$part4["subtype"] = "octet-stream";
|
||||
$part4["description"] = 'Test';
|
||||
$part4['disposition.type'] = 'attachment';
|
||||
$part4['disposition'] = array ('filename' => 'Test');
|
||||
$part4['type.parameters'] = array('name' => 'Test');
|
||||
$part4["contents.data"] = base64_encode(fread($file_handle, 1));
|
||||
|
||||
$body[1] = $part1;
|
||||
$body[2] = $part2;
|
||||
$body[3] = $part3;
|
||||
$body[4] = $part4;
|
||||
|
||||
$msg = imap_mail_compose($envelope, $body);
|
||||
|
||||
if (imap_append($imap_stream, $mailbox, $msg) === false) {
|
||||
echo imap_last_error() . "\n";
|
||||
echo "TEST FAILED : could not append new message to mailbox '$mailbox'\n";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--CLEAN--
|
||||
<?php
|
||||
require_once(dirname(__FILE__).'/clean.inc');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing imap_fetch_overview() : usage variations ***
|
||||
Create a temporary mailbox and add 0 msgs
|
||||
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
||||
|
||||
--> Object #1
|
||||
size is %d
|
||||
uid is %d
|
||||
msgno is 1
|
||||
recent is %d
|
||||
flagged is 0
|
||||
answered is 0
|
||||
deleted is 0
|
||||
seen is 0
|
||||
draft is 0
|
||||
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue