php-src/ext/imap/tests/imap_fetch_overview_variation6.phpt
2008-12-08 19:12:39 +00:00

126 lines
3.1 KiB
PHP

--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===