1--TEST-- 2Test hebrevc() function : usage variations - test values for $max_chars_per_line argument 3--FILE-- 4<?php 5 6/* Prototype : string hebrevc ( string $hebrew_text [, int $max_chars_per_line ] ) 7 * Description: Convert logical Hebrew text to visual text 8 * Source code: ext/standard/string.c 9*/ 10 11echo "*** Testing hebrevc() function: with unexpected inputs for 'max_chars_per_line' argument ***\n"; 12 13//get an unset variable 14$unset_var = 'string_val'; 15unset($unset_var); 16 17//defining a class 18class sample { 19 public function __toString() { 20 return "sample object"; 21 } 22} 23 24//getting the resource 25$file_handle = fopen(__FILE__, "r"); 26 27// array with different values for $max_chars_per_line 28$inputs = array ( 29 30 // integer values 31/*1*/ 0, 32 1, 33 255, 34 256, 35 2147483647, 36 -2147483648, 37 38 // float values 39/*7*/ 10.5, 40 -20.5, 41 10.1234567e5, 42 43 // array values 44/*10*/ array(), 45 array(0), 46 array(1, 2), 47 48 // boolean values 49/*13*/ true, 50 false, 51 TRUE, 52 FALSE, 53 54 // null values 55/*17*/ NULL, 56 null, 57 58 // string values 59/*19*/ "abc", 60 'abc', 61 "3abc", 62 "0abc", 63 "0x3", 64 65 // objects 66/*24*/ new sample(), 67 68 // resource 69/*25*/ $file_handle, 70 71 // undefined variable 72/*26*/ @$undefined_var, 73 74 // unset variable 75/*27*/ @$unset_var 76); 77 78// loop through with each element of the $texts array to test hebrevc() function 79$count = 1; 80 81$hebrew_text = "The hebrevcc function converts logical Hebrew text to visual text.\nThis function is similar to hebrevc() with the difference that it converts newlines (\n) to '<br>\n'.\nThe function tries to avoid breaking words.\n"; 82 83foreach($inputs as $max_chars_per_line) { 84 echo "-- Iteration $count --\n"; 85 var_dump( hebrevc($hebrew_text, $max_chars_per_line) ); 86 $count ++; 87} 88 89fclose($file_handle); //closing the file handle 90 91?> 92===DONE=== 93--EXPECTF-- 94*** Testing hebrevc() function: with unexpected inputs for 'max_chars_per_line' argument *** 95-- Iteration 1 -- 96string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 97) This function is similar to hebrevc() with the difference that it converts newlines<br /> 98<to '<br (<br /> 99.'<br /> 100.The function tries to avoid breaking words<br /> 101" 102-- Iteration 2 -- 103string(331) "xttel uaisv<br /> 104tot ext<br /> 105ewbrHel cagilos rtveonc<br /> 106ontincfuc vcreebh<br /> 107he.Ts<br /> 108neliewn<br /> 109tsernvcot i<br /> 110atthe ncrefeifd<br /> 111het<br /> 112thwi) c(evbrheo t<br /> 113arilims<br /> 114isn ioctunf<br /> 115isTh) (<br /> 116r <b'<br /> 117to<<br /> 118.'s<br /> 119rdwog inakreb<br /> 120idvoa<br /> 121tos ietrn ioctunf<br /> 122he.T<br /> 123" 124-- Iteration 3 -- 125string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 126) This function is similar to hebrevc() with the difference that it converts newlines<br /> 127<to '<br (<br /> 128.'<br /> 129.The function tries to avoid breaking words<br /> 130" 131-- Iteration 4 -- 132string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 133) This function is similar to hebrevc() with the difference that it converts newlines<br /> 134<to '<br (<br /> 135.'<br /> 136.The function tries to avoid breaking words<br /> 137" 138-- Iteration 5 -- 139string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 140) This function is similar to hebrevc() with the difference that it converts newlines<br /> 141<to '<br (<br /> 142.'<br /> 143.The function tries to avoid breaking words<br /> 144" 145-- Iteration 6 -- 146string(421) "txet<br /> 147lausiv<br /> 148ot<br /> 149txet<br /> 150werbeH<br /> 151lacigol<br /> 152strevnoc<br /> 153noitcnuf<br /> 154ccverbeh<br /> 155ehT.<br /> 156senilwen<br /> 157strevnoc<br /> 158ti<br /> 159taht<br /> 160ecnereffid<br /> 161eht<br /> 162htiw<br /> 163)(cverbeh<br /> 164ot<br /> 165ralimis<br /> 166si<br /> 167noitcnuf<br /> 168sihT<br /> 169)<br /> 170(<br /> 171rb<'<br /> 172ot<<br /> 173'.<br /> 174sdrow<br /> 175gnikaerb<br /> 176diova<br /> 177ot<br /> 178seirt<br /> 179noitcnuf<br /> 180ehT.<br /> 181" 182-- Iteration 7 -- 183string(373) "text<br /> 184to visual<br /> 185text<br /> 186Hebrew<br /> 187logical<br /> 188converts<br /> 189function<br /> 190hebrevcc<br /> 191.The<br /> 192newlines<br /> 193converts<br /> 194that it<br /> 195difference<br /> 196with the<br /> 197hebrevc()<br /> 198similar to<br /> 199is<br /> 200function<br /> 201) This<br /> 202<to '<br (<br /> 203.'<br /> 204words<br /> 205breaking<br /> 206to avoid<br /> 207tries<br /> 208function<br /> 209.The<br /> 210" 211-- Iteration 8 -- 212string(421) "txet<br /> 213lausiv<br /> 214ot<br /> 215txet<br /> 216werbeH<br /> 217lacigol<br /> 218strevnoc<br /> 219noitcnuf<br /> 220ccverbeh<br /> 221ehT.<br /> 222senilwen<br /> 223strevnoc<br /> 224ti<br /> 225taht<br /> 226ecnereffid<br /> 227eht<br /> 228htiw<br /> 229)(cverbeh<br /> 230ot<br /> 231ralimis<br /> 232si<br /> 233noitcnuf<br /> 234sihT<br /> 235)<br /> 236(<br /> 237rb<'<br /> 238ot<<br /> 239'.<br /> 240sdrow<br /> 241gnikaerb<br /> 242diova<br /> 243ot<br /> 244seirt<br /> 245noitcnuf<br /> 246ehT.<br /> 247" 248-- Iteration 9 -- 249string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 250) This function is similar to hebrevc() with the difference that it converts newlines<br /> 251<to '<br (<br /> 252.'<br /> 253.The function tries to avoid breaking words<br /> 254" 255-- Iteration 10 -- 256 257Warning: hebrevc() expects parameter 2 to be int, array given in %s on line %d 258NULL 259-- Iteration 11 -- 260 261Warning: hebrevc() expects parameter 2 to be int, array given in %s on line %d 262NULL 263-- Iteration 12 -- 264 265Warning: hebrevc() expects parameter 2 to be int, array given in %s on line %d 266NULL 267-- Iteration 13 -- 268string(331) "xttel uaisv<br /> 269tot ext<br /> 270ewbrHel cagilos rtveonc<br /> 271ontincfuc vcreebh<br /> 272he.Ts<br /> 273neliewn<br /> 274tsernvcot i<br /> 275atthe ncrefeifd<br /> 276het<br /> 277thwi) c(evbrheo t<br /> 278arilims<br /> 279isn ioctunf<br /> 280isTh) (<br /> 281r <b'<br /> 282to<<br /> 283.'s<br /> 284rdwog inakreb<br /> 285idvoa<br /> 286tos ietrn ioctunf<br /> 287he.T<br /> 288" 289-- Iteration 14 -- 290string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 291) This function is similar to hebrevc() with the difference that it converts newlines<br /> 292<to '<br (<br /> 293.'<br /> 294.The function tries to avoid breaking words<br /> 295" 296-- Iteration 15 -- 297string(331) "xttel uaisv<br /> 298tot ext<br /> 299ewbrHel cagilos rtveonc<br /> 300ontincfuc vcreebh<br /> 301he.Ts<br /> 302neliewn<br /> 303tsernvcot i<br /> 304atthe ncrefeifd<br /> 305het<br /> 306thwi) c(evbrheo t<br /> 307arilims<br /> 308isn ioctunf<br /> 309isTh) (<br /> 310r <b'<br /> 311to<<br /> 312.'s<br /> 313rdwog inakreb<br /> 314idvoa<br /> 315tos ietrn ioctunf<br /> 316he.T<br /> 317" 318-- Iteration 16 -- 319string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 320) This function is similar to hebrevc() with the difference that it converts newlines<br /> 321<to '<br (<br /> 322.'<br /> 323.The function tries to avoid breaking words<br /> 324" 325-- Iteration 17 -- 326string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 327) This function is similar to hebrevc() with the difference that it converts newlines<br /> 328<to '<br (<br /> 329.'<br /> 330.The function tries to avoid breaking words<br /> 331" 332-- Iteration 18 -- 333string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 334) This function is similar to hebrevc() with the difference that it converts newlines<br /> 335<to '<br (<br /> 336.'<br /> 337.The function tries to avoid breaking words<br /> 338" 339-- Iteration 19 -- 340 341Warning: hebrevc() expects parameter 2 to be int, string given in %s on line %d 342NULL 343-- Iteration 20 -- 344 345Warning: hebrevc() expects parameter 2 to be int, string given in %s on line %d 346NULL 347-- Iteration 21 -- 348 349Notice: A non well formed numeric value encountered in %s on line %d 350string(349) "textual vis<br /> 351to<br /> 352textrew Heb<br /> 353icallog<br /> 354ertsconvion unctf<br /> 355evcchebrThe .<br /> 356inesnewlrts onvec<br /> 357it<br /> 358thatnce feredif<br /> 359the<br /> 360withc() brevhe<br /> 361to<br /> 362ilarsim<br /> 363is<br /> 364tionfunchis ) T<br /> 365(<br /> 366'<br<to .'<br /> 367<br /> 368ordsw<br /> 369kingbreaoid av<br /> 370to<br /> 371riest<br /> 372tionfuncThe .<br /> 373" 374-- Iteration 22 -- 375 376Notice: A non well formed numeric value encountered in %s on line %d 377string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 378) This function is similar to hebrevc() with the difference that it converts newlines<br /> 379<to '<br (<br /> 380.'<br /> 381.The function tries to avoid breaking words<br /> 382" 383-- Iteration 23 -- 384 385Notice: A non well formed numeric value encountered in %s on line %d 386string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 387) This function is similar to hebrevc() with the difference that it converts newlines<br /> 388<to '<br (<br /> 389.'<br /> 390.The function tries to avoid breaking words<br /> 391" 392-- Iteration 24 -- 393 394Warning: hebrevc() expects parameter 2 to be int, object given in %s on line %d 395NULL 396-- Iteration 25 -- 397 398Warning: hebrevc() expects parameter 2 to be int, resource given in %s on line %d 399NULL 400-- Iteration 26 -- 401string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 402) This function is similar to hebrevc() with the difference that it converts newlines<br /> 403<to '<br (<br /> 404.'<br /> 405.The function tries to avoid breaking words<br /> 406" 407-- Iteration 27 -- 408string(241) ".The hebrevcc function converts logical Hebrew text to visual text<br /> 409) This function is similar to hebrevc() with the difference that it converts newlines<br /> 410<to '<br (<br /> 411.'<br /> 412.The function tries to avoid breaking words<br /> 413" 414===DONE=== 415