1--TEST-- 2Test imap_fetchbody() function : usage variation - diff data types as $stream_id arg 3--SKIPIF-- 4<?php 5extension_loaded('imap') or die('skip imap extension not available in this build'); 6?> 7--FILE-- 8<?php 9/* Prototype : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 10 * [, int $options]) 11 * Description: Get a specific body section 12 * Source code: ext/imap/php_imap.c 13 */ 14 15/* 16 * Pass different data types as $stream_id argument to test behaviour of imap_fetchbody() 17 */ 18 19echo "*** Testing imap_fetchbody() : usage variations ***\n"; 20 21// Initialise function arguments not being substituted 22$msg_no = 1; 23$section = '2'; 24 25//get an unset variable 26$unset_var = 10; 27unset ($unset_var); 28 29// get a class 30class classA 31{ 32 public function __toString() { 33 return "Class A object"; 34 } 35} 36 37// heredoc string 38$heredoc = <<<EOT 39hello world 40EOT; 41 42// unexpected values to be passed to $stream_id argument 43$inputs = array( 44 45 // int data 46/*1*/ 0, 47 1, 48 12345, 49 -2345, 50 51 // float data 52/*5*/ 10.5, 53 -10.5, 54 12.3456789000e10, 55 12.3456789000E-10, 56 .5, 57 58 // null data 59/*10*/ NULL, 60 null, 61 62 // boolean data 63/*12*/ true, 64 false, 65 TRUE, 66 FALSE, 67 68 // empty data 69/*16*/ "", 70 '', 71 array(), 72 73 // string data 74/*19*/ "string", 75 'string', 76 $heredoc, 77 78 // object data 79/*22*/ new classA(), 80 81 // undefined data 82/*23*/ @$undefined_var, 83 84 // unset data 85/*24*/ @$unset_var, 86); 87 88// loop through each element of $inputs to check the behavior of imap_fetchbody() 89$iterator = 1; 90foreach($inputs as $input) { 91 echo "\n-- Iteration $iterator --\n"; 92 var_dump( imap_fetchbody($input, $msg_no, $section) ); 93 $iterator++; 94} 95?> 96===DONE=== 97--EXPECTF-- 98*** Testing imap_fetchbody() : usage variations *** 99 100-- Iteration 1 -- 101 102Warning: imap_fetchbody() expects parameter 1 to be resource, integer given in %s on line 85 103NULL 104 105-- Iteration 2 -- 106 107Warning: imap_fetchbody() expects parameter 1 to be resource, integer given in %s on line 85 108NULL 109 110-- Iteration 3 -- 111 112Warning: imap_fetchbody() expects parameter 1 to be resource, integer given in %s on line 85 113NULL 114 115-- Iteration 4 -- 116 117Warning: imap_fetchbody() expects parameter 1 to be resource, integer given in %s on line 85 118NULL 119 120-- Iteration 5 -- 121 122Warning: imap_fetchbody() expects parameter 1 to be resource, double given in %s on line 85 123NULL 124 125-- Iteration 6 -- 126 127Warning: imap_fetchbody() expects parameter 1 to be resource, double given in %s on line 85 128NULL 129 130-- Iteration 7 -- 131 132Warning: imap_fetchbody() expects parameter 1 to be resource, double given in %s on line 85 133NULL 134 135-- Iteration 8 -- 136 137Warning: imap_fetchbody() expects parameter 1 to be resource, double given in %s on line 85 138NULL 139 140-- Iteration 9 -- 141 142Warning: imap_fetchbody() expects parameter 1 to be resource, double given in %s on line 85 143NULL 144 145-- Iteration 10 -- 146 147Warning: imap_fetchbody() expects parameter 1 to be resource, null given in %s on line 85 148NULL 149 150-- Iteration 11 -- 151 152Warning: imap_fetchbody() expects parameter 1 to be resource, null given in %s on line 85 153NULL 154 155-- Iteration 12 -- 156 157Warning: imap_fetchbody() expects parameter 1 to be resource, boolean given in %s on line 85 158NULL 159 160-- Iteration 13 -- 161 162Warning: imap_fetchbody() expects parameter 1 to be resource, boolean given in %s on line 85 163NULL 164 165-- Iteration 14 -- 166 167Warning: imap_fetchbody() expects parameter 1 to be resource, boolean given in %s on line 85 168NULL 169 170-- Iteration 15 -- 171 172Warning: imap_fetchbody() expects parameter 1 to be resource, boolean given in %s on line 85 173NULL 174 175-- Iteration 16 -- 176 177Warning: imap_fetchbody() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line 85 178NULL 179 180-- Iteration 17 -- 181 182Warning: imap_fetchbody() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line 85 183NULL 184 185-- Iteration 18 -- 186 187Warning: imap_fetchbody() expects parameter 1 to be resource, array given in %s on line 85 188NULL 189 190-- Iteration 19 -- 191 192Warning: imap_fetchbody() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line 85 193NULL 194 195-- Iteration 20 -- 196 197Warning: imap_fetchbody() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line 85 198NULL 199 200-- Iteration 21 -- 201 202Warning: imap_fetchbody() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line 85 203NULL 204 205-- Iteration 22 -- 206 207Warning: imap_fetchbody() expects parameter 1 to be resource, object given in %s on line 85 208NULL 209 210-- Iteration 23 -- 211 212Warning: imap_fetchbody() expects parameter 1 to be resource, null given in %s on line 85 213NULL 214 215-- Iteration 24 -- 216 217Warning: imap_fetchbody() expects parameter 1 to be resource, null given in %s on line 85 218NULL 219===DONE=== 220