summaryrefslogtreecommitdiff
path: root/ext/imap/tests
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2010-04-14 09:45:37 +0000
committerPierre Joye <pajoye@php.net>2010-04-14 09:45:37 +0000
commit623818f41632fb5fca2fc52a854e00e0b81d9e6f (patch)
tree4a6a797041201ed0254c2a765e886ee6bad58a9f /ext/imap/tests
parentbe23f26ca925b41dc7a263555ecb556019e79e38 (diff)
downloadphp-git-623818f41632fb5fca2fc52a854e00e0b81d9e6f.tar.gz
- #35638, add udate to imap_fetch_overview
Diffstat (limited to 'ext/imap/tests')
-rw-r--r--ext/imap/tests/imap_fetch_overview_basic.phpt34
-rw-r--r--ext/imap/tests/imap_fetch_overview_variation2.phpt23
-rw-r--r--ext/imap/tests/imap_fetch_overview_variation5.phpt25
-rw-r--r--ext/imap/tests/imap_fetch_overview_variation6.phpt20
-rw-r--r--ext/imap/tests/imap_include.inc48
5 files changed, 66 insertions, 84 deletions
diff --git a/ext/imap/tests/imap_fetch_overview_basic.phpt b/ext/imap/tests/imap_fetch_overview_basic.phpt
index 2b4623febf..83fab12391 100644
--- a/ext/imap/tests/imap_fetch_overview_basic.phpt
+++ b/ext/imap/tests/imap_fetch_overview_basic.phpt
@@ -23,28 +23,11 @@ $stream_id = setup_test_mailbox('', 2, $mailbox, 'notSimple');
$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";
-}
+displayOverviewFields($a[0]);
// Calling imap_fetch_overview() with mandatory arguments
echo "\n-- Mandatory arguments --\n";
@@ -52,19 +35,11 @@ $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";
-}
+displayOverviewFields($a[0]);
//Second object in array
echo "\n--> Object #2\n";
-foreach ($mandatoryFields as $mf)
-{
- $z = $a[1]->$mf;
- echo "$mf is $z\n";
-}
+displayOverviewFields($a[1]);
imap_close($stream_id);
@@ -91,6 +66,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- Mandatory arguments --
@@ -104,6 +80,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
--> Object #2
size is %d
@@ -115,4 +92,5 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
===DONE===
diff --git a/ext/imap/tests/imap_fetch_overview_variation2.phpt b/ext/imap/tests/imap_fetch_overview_variation2.phpt
index 8634cefab7..086885f6a5 100644
--- a/ext/imap/tests/imap_fetch_overview_variation2.phpt
+++ b/ext/imap/tests/imap_fetch_overview_variation2.phpt
@@ -22,20 +22,6 @@ 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);
@@ -114,11 +100,7 @@ foreach($inputs as $input) {
if (!$overview) {
echo imap_last_error() . "\n";
} else {
- foreach ($mandatoryFields as $mf)
- {
- $z = $overview[0]->$mf;
- echo "$mf is $z\n";
- }
+ displayOverviewFields($overview[0]);
}
$iterator++;
};
@@ -151,6 +133,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- Testing with second argument value: int(12345)
Sequence out of range
@@ -189,6 +172,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- Testing with second argument value: bool(false)
Sequence out of range
@@ -203,6 +187,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- Testing with second argument value: bool(false)
Sequence out of range
diff --git a/ext/imap/tests/imap_fetch_overview_variation5.phpt b/ext/imap/tests/imap_fetch_overview_variation5.phpt
index d5bc88858a..5feeedb523 100644
--- a/ext/imap/tests/imap_fetch_overview_variation5.phpt
+++ b/ext/imap/tests/imap_fetch_overview_variation5.phpt
@@ -22,19 +22,6 @@ 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
@@ -47,11 +34,7 @@ foreach($sequences as $msg_no) {
} else {
foreach($overview as $ov) {
echo "\n";
- foreach ($mandatoryFields as $mf)
- {
- $z = $ov->$mf;
- echo "$mf is $z\n";
- }
+ displayOverviewFields($ov);
}
}
}
@@ -89,6 +72,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- $msg_no is 1,3 --
@@ -101,6 +85,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
size is %d
uid is %d
@@ -111,6 +96,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
-- $msg_no is 1, 2 --
Syntax error in sequence
@@ -126,6 +112,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
size is %d
uid is %d
@@ -136,6 +123,7 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
size is %d
uid is %d
@@ -146,4 +134,5 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
===DONE===
diff --git a/ext/imap/tests/imap_fetch_overview_variation6.phpt b/ext/imap/tests/imap_fetch_overview_variation6.phpt
index 6ee65f68f0..bdf05579de 100644
--- a/ext/imap/tests/imap_fetch_overview_variation6.phpt
+++ b/ext/imap/tests/imap_fetch_overview_variation6.phpt
@@ -22,30 +22,13 @@ 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";
-}
+displayOverviewFields($a[0]);
@@ -122,4 +105,5 @@ answered is 0
deleted is 0
seen is 0
draft is 0
+udate is OK
===DONE===
diff --git a/ext/imap/tests/imap_include.inc b/ext/imap/tests/imap_include.inc
index 3f9845476c..ed36239572 100644
--- a/ext/imap/tests/imap_include.inc
+++ b/ext/imap/tests/imap_include.inc
@@ -9,10 +9,56 @@ $password = 'p4ssw0rd';
$users = array("webmaster", "info", "admin", "foo"); // tests require 4 valid userids
$mailbox_prefix = "phpttest"; // name used for test mailbox
+// 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
+ *
+ * Special handling for 'udate', which will vary run-to-run; assumes an IMAP
+ * server with its clock synced to the current system, which is consistent with
+ * setup instructions in ext/imap/tests/README
+ *
+ * @param array resp element from the return value of imap_fetch_overview()
+ */
+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";
+ }
+ }
+}
+
+
/**
* Create a test mailbox and populate with msgs
*
- * @para, string mailbox_suffix Suffix used to uniquely identify mailboxes
+ * @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 sucesss; FALSE on failure