1--TEST-- 2Test session_decode() function : error functionality 3--SKIPIF-- 4<?php include('skipif.inc'); ?> 5--FILE-- 6<?php 7 8ob_start(); 9 10/* 11 * Prototype : string session_decode(void) 12 * Description : Decodes session data from a string 13 * Source code : ext/session/session.c 14 */ 15 16echo "*** Testing session_decode() : error functionality ***\n"; 17$data = "foo|a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}guff|R:1;blah|R:1;"; 18 19var_dump(session_start()); 20for($index = 0; $index < strlen($data); $index++) { 21 echo "\n-- Iteration $index --\n"; 22 $encoded = substr($data, 0, $index); 23 var_dump(session_decode($encoded)); 24 var_dump($_SESSION); 25}; 26 27var_dump(session_destroy()); 28echo "Done"; 29ob_end_flush(); 30?> 31--EXPECTF-- 32*** Testing session_decode() : error functionality *** 33bool(true) 34 35-- Iteration 0 -- 36bool(true) 37array(0) { 38} 39 40-- Iteration 1 -- 41bool(true) 42array(0) { 43} 44 45-- Iteration 2 -- 46bool(true) 47array(0) { 48} 49 50-- Iteration 3 -- 51bool(true) 52array(0) { 53} 54 55-- Iteration 4 -- 56 57Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d 58bool(false) 59array(0) { 60} 61 62-- Iteration 5 -- 63bool(false) 64array(0) { 65} 66 67-- Iteration 6 -- 68bool(false) 69array(0) { 70} 71 72-- Iteration 7 -- 73bool(false) 74array(0) { 75} 76 77-- Iteration 8 -- 78bool(false) 79array(0) { 80} 81 82-- Iteration 9 -- 83bool(false) 84array(0) { 85} 86 87-- Iteration 10 -- 88bool(false) 89array(0) { 90} 91 92-- Iteration 11 -- 93bool(false) 94array(0) { 95} 96 97-- Iteration 12 -- 98bool(false) 99array(0) { 100} 101 102-- Iteration 13 -- 103bool(false) 104array(0) { 105} 106 107-- Iteration 14 -- 108bool(false) 109array(0) { 110} 111 112-- Iteration 15 -- 113bool(false) 114array(0) { 115} 116 117-- Iteration 16 -- 118bool(false) 119array(0) { 120} 121 122-- Iteration 17 -- 123bool(false) 124array(0) { 125} 126 127-- Iteration 18 -- 128bool(false) 129array(0) { 130} 131 132-- Iteration 19 -- 133bool(false) 134array(0) { 135} 136 137-- Iteration 20 -- 138bool(false) 139array(0) { 140} 141 142-- Iteration 21 -- 143bool(false) 144array(0) { 145} 146 147-- Iteration 22 -- 148bool(false) 149array(0) { 150} 151 152-- Iteration 23 -- 153bool(false) 154array(0) { 155} 156 157-- Iteration 24 -- 158bool(false) 159array(0) { 160} 161 162-- Iteration 25 -- 163bool(false) 164array(0) { 165} 166 167-- Iteration 26 -- 168bool(false) 169array(0) { 170} 171 172-- Iteration 27 -- 173bool(false) 174array(0) { 175} 176 177-- Iteration 28 -- 178bool(false) 179array(0) { 180} 181 182-- Iteration 29 -- 183bool(false) 184array(0) { 185} 186 187-- Iteration 30 -- 188bool(false) 189array(0) { 190} 191 192-- Iteration 31 -- 193bool(false) 194array(0) { 195} 196 197-- Iteration 32 -- 198bool(false) 199array(0) { 200} 201 202-- Iteration 33 -- 203bool(false) 204array(0) { 205} 206 207-- Iteration 34 -- 208bool(false) 209array(0) { 210} 211 212-- Iteration 35 -- 213bool(false) 214array(0) { 215} 216 217-- Iteration 36 -- 218bool(false) 219array(0) { 220} 221 222-- Iteration 37 -- 223bool(false) 224array(0) { 225} 226 227-- Iteration 38 -- 228bool(false) 229array(0) { 230} 231 232-- Iteration 39 -- 233bool(false) 234array(0) { 235} 236 237-- Iteration 40 -- 238bool(false) 239array(0) { 240} 241 242-- Iteration 41 -- 243bool(false) 244array(0) { 245} 246 247-- Iteration 42 -- 248bool(false) 249array(0) { 250} 251 252-- Iteration 43 -- 253bool(false) 254array(0) { 255} 256 257-- Iteration 44 -- 258bool(false) 259array(0) { 260} 261 262-- Iteration 45 -- 263bool(false) 264array(0) { 265} 266 267-- Iteration 46 -- 268bool(false) 269array(0) { 270} 271 272-- Iteration 47 -- 273bool(false) 274array(0) { 275} 276 277-- Iteration 48 -- 278bool(false) 279array(0) { 280} 281 282-- Iteration 49 -- 283bool(false) 284array(0) { 285} 286 287-- Iteration 50 -- 288bool(false) 289array(0) { 290} 291 292-- Iteration 51 -- 293bool(false) 294array(0) { 295} 296 297Warning: session_destroy(): Trying to destroy uninitialized session in %s%esession_decode_error2.php on line %d 298bool(false) 299Done 300