Return to strcspn_variation7.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test strcspn() function : usage variations - with heredoc strings, varying start and default len args 3: --FILE-- 4: <?php 5: /* Prototype : proto int strcspn(string str, string mask [, int start [,int len]]) 6: * Description: Finds length of initial segment consisting entirely of characters not found in mask. 7: If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 8: * Source code: ext/standard/string.c 9: * Alias to functions: none 10: */ 11: 12: /* 13: * Testing strcspn() : with heredoc string, varying start and default len arguments 14: */ 15: 16: echo "*** Testing strcspn() : with different start values ***\n"; 17: 18: // initialing required variables 19: // defining different heredoc strings 20: $empty_heredoc = <<<EOT 21: EOT; 22: 23: $heredoc_with_newline = <<<EOT 24: \n 25: 26: EOT; 27: 28: $heredoc_with_characters = <<<EOT 29: first line of heredoc string 30: second line of heredoc string 31: third line of heredocstring 32: EOT; 33: 34: $heredoc_with_newline_and_tabs = <<<EOT 35: hello\tworld\nhello\nworld\n 36: EOT; 37: 38: $heredoc_with_alphanumerics = <<<EOT 39: hello123world456 40: 1234hello\t1234 41: EOT; 42: 43: $heredoc_with_embedded_nulls = <<<EOT 44: hello\0world\0hello 45: \0hello\0 46: EOT; 47: 48: $heredoc_with_hexa_octal = <<<EOT 49: hello\0\100\xaaworld\0hello 50: \0hello\0 51: EOT; 52: 53: $heredoc_strings = array( 54: $empty_heredoc, 55: $heredoc_with_newline, 56: $heredoc_with_characters, 57: $heredoc_with_newline_and_tabs, 58: $heredoc_with_alphanumerics, 59: $heredoc_with_embedded_nulls, 60: $heredoc_with_hexa_octal 61: ); 62: 63: 64: // defining array of mask strings 65: 66: $mask_array = array( 67: "", 68: '', 69: "\n\trsti \l", 70: '\n\trsti \l', 71: "\t", 72: "t\ ", 73: '\t', 74: "\t\ ", 75: " \t", 76: "\t\i\100\xaa" 77: ); 78: 79: // definig array of start values 80: $start_array = array( 81: 0, 82: 1, 83: 2, 84: -1, 85: -2, 86: 2147483647, // max positive integer 87: -2147483648, // min negative integer 88: ); 89: 90: 91: // loop through each element of the arrays for str, mask and start arguments 92: 93: $count = 1; 94: foreach($heredoc_strings as $str) { 95: echo "\n-- Iteration $count --\n"; 96: foreach($mask_array as $mask) { 97: foreach($start_array as $start) { 98: var_dump( strcspn($str,$mask,$start) ); // with default len value 99: } 100: } 101: $count++; 102: } 103: 104: echo "Done" 105: ?> 106: --EXPECTF-- 107: *** Testing strcspn() : with different start values *** 108: 109: -- Iteration 1 -- 110: int(0) 111: bool(false) 112: bool(false) 113: int(0) 114: int(0) 115: bool(false) 116: int(0) 117: int(0) 118: bool(false) 119: bool(false) 120: int(0) 121: int(0) 122: bool(false) 123: int(0) 124: int(0) 125: bool(false) 126: bool(false) 127: int(0) 128: int(0) 129: bool(false) 130: int(0) 131: int(0) 132: bool(false) 133: bool(false) 134: int(0) 135: int(0) 136: bool(false) 137: int(0) 138: int(0) 139: bool(false) 140: bool(false) 141: int(0) 142: int(0) 143: bool(false) 144: int(0) 145: int(0) 146: bool(false) 147: bool(false) 148: int(0) 149: int(0) 150: bool(false) 151: int(0) 152: int(0) 153: bool(false) 154: bool(false) 155: int(0) 156: int(0) 157: bool(false) 158: int(0) 159: int(0) 160: bool(false) 161: bool(false) 162: int(0) 163: int(0) 164: bool(false) 165: int(0) 166: int(0) 167: bool(false) 168: bool(false) 169: int(0) 170: int(0) 171: bool(false) 172: int(0) 173: int(0) 174: bool(false) 175: bool(false) 176: int(0) 177: int(0) 178: bool(false) 179: int(0) 180: 181: -- Iteration 2 -- 182: int(2) 183: int(1) 184: int(0) 185: int(1) 186: int(2) 187: bool(false) 188: int(2) 189: int(2) 190: int(1) 191: int(0) 192: int(1) 193: int(2) 194: bool(false) 195: int(2) 196: int(0) 197: int(0) 198: int(0) 199: int(0) 200: int(0) 201: bool(false) 202: int(0) 203: int(2) 204: int(1) 205: int(0) 206: int(1) 207: int(2) 208: bool(false) 209: int(2) 210: int(2) 211: int(1) 212: int(0) 213: int(1) 214: int(2) 215: bool(false) 216: int(2) 217: int(2) 218: int(1) 219: int(0) 220: int(1) 221: int(2) 222: bool(false) 223: int(2) 224: int(2) 225: int(1) 226: int(0) 227: int(1) 228: int(2) 229: bool(false) 230: int(2) 231: int(2) 232: int(1) 233: int(0) 234: int(1) 235: int(2) 236: bool(false) 237: int(2) 238: int(2) 239: int(1) 240: int(0) 241: int(1) 242: int(2) 243: bool(false) 244: int(2) 245: int(2) 246: int(1) 247: int(0) 248: int(1) 249: int(2) 250: bool(false) 251: int(2) 252: 253: -- Iteration 3 -- 254: int(86) 255: int(85) 256: int(84) 257: int(1) 258: int(2) 259: bool(false) 260: int(86) 261: int(86) 262: int(85) 263: int(84) 264: int(1) 265: int(2) 266: bool(false) 267: int(86) 268: int(1) 269: int(0) 270: int(0) 271: int(1) 272: int(2) 273: bool(false) 274: int(1) 275: int(1) 276: int(0) 277: int(0) 278: int(1) 279: int(0) 280: bool(false) 281: int(1) 282: int(86) 283: int(85) 284: int(84) 285: int(1) 286: int(2) 287: bool(false) 288: int(86) 289: int(4) 290: int(3) 291: int(2) 292: int(1) 293: int(2) 294: bool(false) 295: int(4) 296: int(4) 297: int(3) 298: int(2) 299: int(1) 300: int(2) 301: bool(false) 302: int(4) 303: int(5) 304: int(4) 305: int(3) 306: int(1) 307: int(2) 308: bool(false) 309: int(5) 310: int(5) 311: int(4) 312: int(3) 313: int(1) 314: int(2) 315: bool(false) 316: int(5) 317: int(1) 318: int(0) 319: int(5) 320: int(1) 321: int(2) 322: bool(false) 323: int(1) 324: 325: -- Iteration 4 -- 326: int(24) 327: int(23) 328: int(22) 329: int(1) 330: int(2) 331: bool(false) 332: int(24) 333: int(24) 334: int(23) 335: int(22) 336: int(1) 337: int(2) 338: bool(false) 339: int(24) 340: int(2) 341: int(1) 342: int(0) 343: int(0) 344: int(1) 345: bool(false) 346: int(2) 347: int(2) 348: int(1) 349: int(0) 350: int(1) 351: int(2) 352: bool(false) 353: int(2) 354: int(5) 355: int(4) 356: int(3) 357: int(1) 358: int(2) 359: bool(false) 360: int(5) 361: int(24) 362: int(23) 363: int(22) 364: int(1) 365: int(2) 366: bool(false) 367: int(24) 368: int(24) 369: int(23) 370: int(22) 371: int(1) 372: int(2) 373: bool(false) 374: int(24) 375: int(5) 376: int(4) 377: int(3) 378: int(1) 379: int(2) 380: bool(false) 381: int(5) 382: int(5) 383: int(4) 384: int(3) 385: int(1) 386: int(2) 387: bool(false) 388: int(5) 389: int(5) 390: int(4) 391: int(3) 392: int(1) 393: int(2) 394: bool(false) 395: int(5) 396: 397: -- Iteration 5 -- 398: int(31) 399: int(30) 400: int(29) 401: int(1) 402: int(2) 403: bool(false) 404: int(31) 405: int(31) 406: int(30) 407: int(29) 408: int(1) 409: int(2) 410: bool(false) 411: int(31) 412: int(2) 413: int(1) 414: int(0) 415: int(1) 416: int(2) 417: bool(false) 418: int(2) 419: int(2) 420: int(1) 421: int(0) 422: int(1) 423: int(2) 424: bool(false) 425: int(2) 426: int(26) 427: int(25) 428: int(24) 429: int(1) 430: int(2) 431: bool(false) 432: int(26) 433: int(31) 434: int(30) 435: int(29) 436: int(1) 437: int(2) 438: bool(false) 439: int(31) 440: int(31) 441: int(30) 442: int(29) 443: int(1) 444: int(2) 445: bool(false) 446: int(31) 447: int(26) 448: int(25) 449: int(24) 450: int(1) 451: int(2) 452: bool(false) 453: int(26) 454: int(26) 455: int(25) 456: int(24) 457: int(1) 458: int(2) 459: bool(false) 460: int(26) 461: int(26) 462: int(25) 463: int(24) 464: int(1) 465: int(2) 466: bool(false) 467: int(26) 468: 469: -- Iteration 6 -- 470: int(5) 471: int(4) 472: int(3) 473: int(0) 474: int(1) 475: bool(false) 476: int(5) 477: int(5) 478: int(4) 479: int(3) 480: int(0) 481: int(1) 482: bool(false) 483: int(5) 484: int(2) 485: int(1) 486: int(0) 487: int(1) 488: int(2) 489: bool(false) 490: int(2) 491: int(2) 492: int(1) 493: int(0) 494: int(1) 495: int(2) 496: bool(false) 497: int(2) 498: int(25) 499: int(24) 500: int(23) 501: int(1) 502: int(2) 503: bool(false) 504: int(25) 505: int(25) 506: int(24) 507: int(23) 508: int(1) 509: int(2) 510: bool(false) 511: int(25) 512: int(25) 513: int(24) 514: int(23) 515: int(1) 516: int(2) 517: bool(false) 518: int(25) 519: int(25) 520: int(24) 521: int(23) 522: int(1) 523: int(2) 524: bool(false) 525: int(25) 526: int(25) 527: int(24) 528: int(23) 529: int(1) 530: int(2) 531: bool(false) 532: int(25) 533: int(25) 534: int(24) 535: int(23) 536: int(1) 537: int(2) 538: bool(false) 539: int(25) 540: 541: -- Iteration 7 -- 542: int(5) 543: int(4) 544: int(3) 545: int(0) 546: int(1) 547: bool(false) 548: int(5) 549: int(5) 550: int(4) 551: int(3) 552: int(0) 553: int(1) 554: bool(false) 555: int(5) 556: int(2) 557: int(1) 558: int(0) 559: int(1) 560: int(2) 561: bool(false) 562: int(2) 563: int(2) 564: int(1) 565: int(0) 566: int(1) 567: int(2) 568: bool(false) 569: int(2) 570: int(27) 571: int(26) 572: int(25) 573: int(1) 574: int(2) 575: bool(false) 576: int(27) 577: int(27) 578: int(26) 579: int(25) 580: int(1) 581: int(2) 582: bool(false) 583: int(27) 584: int(27) 585: int(26) 586: int(25) 587: int(1) 588: int(2) 589: bool(false) 590: int(27) 591: int(27) 592: int(26) 593: int(25) 594: int(1) 595: int(2) 596: bool(false) 597: int(27) 598: int(27) 599: int(26) 600: int(25) 601: int(1) 602: int(2) 603: bool(false) 604: int(27) 605: int(6) 606: int(5) 607: int(4) 608: int(1) 609: int(2) 610: bool(false) 611: int(6) 612: Done