Annotation of embedaddon/php/ext/imap/tests/imap_fetch_overview_variation2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test imap_fetch_overview() function : usage variations - diff data types as $msg_no arg
! 3: --SKIPIF--
! 4: <?php
! 5: require_once(dirname(__FILE__).'/skipif.inc');
! 6: ?>
! 7: --FILE--
! 8: <?php
! 9: /* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
! 10: * Description: Read an overview of the information in the headers
! 11: * of the given message sequence
! 12: * Source code: ext/imap/php_imap.c
! 13: */
! 14:
! 15: /*
! 16: * Pass different data types as $msg_no argument to imap_fetch_overview() to test behaviour
! 17: */
! 18:
! 19: echo "*** Testing imap_fetch_overview() : usage variations ***\n";
! 20: require_once(dirname(__FILE__).'/imap_include.inc');
! 21:
! 22: // Initialise function arguments not being substituted
! 23: $stream_id = setup_test_mailbox('', 1, $mailbox, 'notSimple'); // set up temp mailbox with 1 msg
! 24:
! 25: //get an unset variable
! 26: $unset_var = 10;
! 27: unset ($unset_var);
! 28:
! 29: // get a class
! 30: class classA
! 31: {
! 32: public function __toString() {
! 33: return "Class A object";
! 34: }
! 35: }
! 36:
! 37: // heredoc string
! 38: $heredoc = <<<EOT
! 39: hello world
! 40: EOT;
! 41:
! 42: // get a resource variable
! 43: $fp = fopen(__FILE__, "r");
! 44:
! 45: // unexpected values to be passed to <<<ARGUMENT HERE>>> argument
! 46: $inputs = array(
! 47:
! 48: // int data
! 49: /*1*/ 0,
! 50: 1,
! 51: 12345,
! 52: -2345,
! 53:
! 54: // float data
! 55: /*5*/ 10.5,
! 56: -10.5,
! 57: 12.3456789000e10,
! 58: 12.3456789000E-10,
! 59: .5,
! 60:
! 61: // null data
! 62: /*10*/ NULL,
! 63: null,
! 64:
! 65: // boolean data
! 66: /*12*/ true,
! 67: false,
! 68: TRUE,
! 69: FALSE,
! 70:
! 71: // empty data
! 72: /*16*/ "",
! 73: '',
! 74: array(),
! 75:
! 76: // string data
! 77: /*19*/ "string",
! 78: 'string',
! 79: $heredoc,
! 80:
! 81: // object data
! 82: /*22*/ new classA(),
! 83:
! 84: // undefined data
! 85: /*23*/ @$undefined_var,
! 86:
! 87: // unset data
! 88: /*24*/ @$unset_var,
! 89:
! 90: // resource variable
! 91: /*25*/ $fp
! 92: );
! 93:
! 94: // loop through each element of $inputs to check the behavior of imap_fetch_overview()
! 95: $iterator = 1;
! 96: foreach($inputs as $input) {
! 97: echo "\n-- Testing with second argument value: ";
! 98: var_dump($input);
! 99: $overview = imap_fetch_overview($stream_id, $input);
! 100: if (!$overview) {
! 101: echo imap_last_error() . "\n";
! 102: } else {
! 103: displayOverviewFields($overview[0]);
! 104: }
! 105: $iterator++;
! 106: };
! 107:
! 108: fclose($fp);
! 109:
! 110: // clear the error stack
! 111: imap_errors();
! 112: ?>
! 113: ===DONE===
! 114: --CLEAN--
! 115: <?php
! 116: require_once(dirname(__FILE__).'/clean.inc');
! 117: ?>
! 118: --EXPECTF--
! 119: *** Testing imap_fetch_overview() : usage variations ***
! 120: Create a temporary mailbox and add 1 msgs
! 121: .. mailbox '{%s}%s' created
! 122:
! 123: -- Testing with second argument value: int(0)
! 124: Sequence out of range
! 125:
! 126: -- Testing with second argument value: int(1)
! 127: size is %d
! 128: uid is %d
! 129: msgno is 1
! 130: recent is %d
! 131: flagged is 0
! 132: answered is 0
! 133: deleted is 0
! 134: seen is 0
! 135: draft is 0
! 136: udate is OK
! 137:
! 138: -- Testing with second argument value: int(12345)
! 139: Sequence out of range
! 140:
! 141: -- Testing with second argument value: int(-2345)
! 142: Syntax error in sequence
! 143:
! 144: -- Testing with second argument value: float(10.5)
! 145: Sequence out of range
! 146:
! 147: -- Testing with second argument value: float(-10.5)
! 148: Syntax error in sequence
! 149:
! 150: -- Testing with second argument value: float(123456789000)
! 151: Sequence out of range
! 152:
! 153: -- Testing with second argument value: float(1.23456789E-9)
! 154: Sequence syntax error
! 155:
! 156: -- Testing with second argument value: float(0.5)
! 157: Sequence out of range
! 158:
! 159: -- Testing with second argument value: NULL
! 160: Sequence out of range
! 161:
! 162: -- Testing with second argument value: NULL
! 163: Sequence out of range
! 164:
! 165: -- Testing with second argument value: bool(true)
! 166: size is %d
! 167: uid is %d
! 168: msgno is 1
! 169: recent is %d
! 170: flagged is 0
! 171: answered is 0
! 172: deleted is 0
! 173: seen is 0
! 174: draft is 0
! 175: udate is OK
! 176:
! 177: -- Testing with second argument value: bool(false)
! 178: Sequence out of range
! 179:
! 180: -- Testing with second argument value: bool(true)
! 181: size is %d
! 182: uid is %d
! 183: msgno is 1
! 184: recent is %d
! 185: flagged is 0
! 186: answered is 0
! 187: deleted is 0
! 188: seen is 0
! 189: draft is 0
! 190: udate is OK
! 191:
! 192: -- Testing with second argument value: bool(false)
! 193: Sequence out of range
! 194:
! 195: -- Testing with second argument value: %string|unicode%(0) ""
! 196: Sequence out of range
! 197:
! 198: -- Testing with second argument value: %string|unicode%(0) ""
! 199: Sequence out of range
! 200:
! 201: -- Testing with second argument value: array(0) {
! 202: }
! 203:
! 204: Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, array given in %s on line %d
! 205: Sequence out of range
! 206:
! 207: -- Testing with second argument value: %string|unicode%(6) "string"
! 208: Syntax error in sequence
! 209:
! 210: -- Testing with second argument value: %string|unicode%(6) "string"
! 211: Syntax error in sequence
! 212:
! 213: -- Testing with second argument value: %string|unicode%(11) "hello world"
! 214: Syntax error in sequence
! 215:
! 216: -- Testing with second argument value: object(classA)#1 (0) {
! 217: }
! 218: Syntax error in sequence
! 219:
! 220: -- Testing with second argument value: NULL
! 221: Syntax error in sequence
! 222:
! 223: -- Testing with second argument value: NULL
! 224: Syntax error in sequence
! 225:
! 226: -- Testing with second argument value: resource(%d) of type (stream)
! 227:
! 228: Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, resource given in %s on line %d
! 229: Syntax error in sequence
! 230: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>