Annotation of embedaddon/php/ext/standard/tests/strings/str_split_variation5.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test str_split() function : usage variations - different heredoc strings as 'str' argument 
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array str_split(string $str [, int $split_length] )
                      6:  * Description: Convert a string to an array. If split_length is 
                      7:                 specified, break the string down into chunks each 
                      8:                 split_length characters long. 
                      9:  * Source code: ext/standard/string.c
                     10:  * Alias to functions: none
                     11: */
                     12: 
                     13: /*
                     14: * Passing different heredoc strings as 'str' argument to the str_split() 
                     15: * with 'split_length' 10 
                     16: */
                     17: 
                     18: echo "*** Testing str_split() : heredoc strings as 'str' argument ***\n";
                     19: 
                     20: // Initializing required variables
                     21: $split_length = 10;
                     22: 
                     23: // Null heredoc string
                     24: $heredoc_null = <<<EOT1
                     25: EOT1;
                     26: 
                     27: // heredoc string with single character
                     28: $heredoc_char = <<<EOT2
                     29: a
                     30: EOT2;
                     31: 
                     32: // simple heredoc string
                     33: $heredoc_str = <<<EOT3
                     34: This is simple heredoc string
                     35: EOT3;
                     36: 
                     37: // heredoc with special characters
                     38: $heredoc_spchar = <<<EOT4
                     39: This checks heredoc with $, %, &, chars
                     40: EOT4;
                     41: 
                     42: // blank heredoc string
                     43: $heredoc_blank = <<<EOT5
                     44: 
                     45: EOT5;
                     46: 
                     47: // heredoc with different white space characters
                     48: $heredoc_escchar = <<<EOT6
                     49: This checks\t str_split()\nEscape\rchars
                     50: EOT6;
                     51: 
                     52: // heredoc with multiline
                     53: $heredoc_multiline= <<<EOT7
                     54: This is to check str_split
                     55: function with multiline
                     56: heredoc
                     57: EOT7;
                     58: 
                     59: // heredoc with quotes and slashes
                     60: $heredoc_quote_slash = <<<EOT8
                     61: "To check " in heredoc"
                     62: I'm sure it'll work also with \
                     63: which is single slash
                     64: EOT8;
                     65: 
                     66: //different heredoc strings for 'str'
                     67: $heredoc_array = array(
                     68:   $heredoc_null,
                     69:   $heredoc_blank,
                     70:   $heredoc_char,
                     71:   $heredoc_str,
                     72:   $heredoc_multiline,
                     73:   $heredoc_spchar,
                     74:   $heredoc_escchar,
                     75:   $heredoc_quote_slash
                     76: );
                     77: 
                     78: 
                     79: // loop through each element of the 'heredoc_array' for 'str'
                     80: $count = 0;
                     81: foreach($heredoc_array as $str) {
                     82:   echo "-- Iteration ".($count+1). " --\n";
                     83:   var_dump( str_split($str, $split_length) );
                     84:   $count++;
                     85: };
                     86:  
                     87: echo "Done"
                     88: ?>
                     89: --EXPECTF--
                     90: *** Testing str_split() : heredoc strings as 'str' argument ***
                     91: -- Iteration 1 --
                     92: array(1) {
                     93:   [0]=>
                     94:   string(0) ""
                     95: }
                     96: -- Iteration 2 --
                     97: array(1) {
                     98:   [0]=>
                     99:   string(0) ""
                    100: }
                    101: -- Iteration 3 --
                    102: array(1) {
                    103:   [0]=>
                    104:   string(1) "a"
                    105: }
                    106: -- Iteration 4 --
                    107: array(3) {
                    108:   [0]=>
                    109:   string(10) "This is si"
                    110:   [1]=>
                    111:   string(10) "mple hered"
                    112:   [2]=>
                    113:   string(9) "oc string"
                    114: }
                    115: -- Iteration 5 --
                    116: array(6) {
                    117:   [0]=>
                    118:   string(10) "This is to"
                    119:   [1]=>
                    120:   string(10) " check str"
                    121:   [2]=>
                    122:   string(10) "_split
                    123: fun"
                    124:   [3]=>
                    125:   string(10) "ction with"
                    126:   [4]=>
                    127:   string(10) " multiline"
                    128:   [5]=>
                    129:   string(8) "
                    130: heredoc"
                    131: }
                    132: -- Iteration 6 --
                    133: array(4) {
                    134:   [0]=>
                    135:   string(10) "This check"
                    136:   [1]=>
                    137:   string(10) "s heredoc "
                    138:   [2]=>
                    139:   string(10) "with $, %,"
                    140:   [3]=>
                    141:   string(9) " &, chars"
                    142: }
                    143: -- Iteration 7 --
                    144: array(4) {
                    145:   [0]=>
                    146:   string(10) "This check"
                    147:   [1]=>
                    148:   string(10) "s         str_spl"
                    149:   [2]=>
                    150:   string(10) "it()
                    151: Escap"
                    152:   [3]=>
                    153:   string(7) "e
chars"
                    154: }
                    155: -- Iteration 8 --
                    156: array(8) {
                    157:   [0]=>
                    158:   string(10) ""To check "
                    159:   [1]=>
                    160:   string(10) "" in hered"
                    161:   [2]=>
                    162:   string(10) "oc"
                    163: I'm su"
                    164:   [3]=>
                    165:   string(10) "re it'll w"
                    166:   [4]=>
                    167:   string(10) "ork also w"
                    168:   [5]=>
                    169:   string(10) "ith \
                    170: whic"
                    171:   [6]=>
                    172:   string(10) "h is singl"
                    173:   [7]=>
                    174:   string(7) "e slash"
                    175: }
                    176: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>