Annotation of embedaddon/php/ext/standard/tests/array/array_unshift_variation9.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_unshift() function : usage variations - heredoc strings for 'var' argument
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : int array_unshift(array $array, mixed $var [, mixed ...])
        !             6:  * Description: Pushes elements onto the beginning of the array
        !             7:  * Source code: ext/standard/array.c
        !             8: */
        !             9: 
        !            10: /*
        !            11:  * Testing the functionality of array_unshift() by passing different
        !            12:  * heredoc strings for $var argument that is prepended to the array 
        !            13:  * passed through $array argument
        !            14: */
        !            15: 
        !            16: echo "*** Testing array_unshift() : heredoc strings for \$var argument ***\n";
        !            17: 
        !            18: // heredoc with empty value
        !            19: $empty_string = <<<EOT
        !            20: EOT;
        !            21:   
        !            22: // heredoc with blank line
        !            23: $blank_line = <<<EOT
        !            24: 
        !            25: 
        !            26: EOT;
        !            27:   
        !            28: // heredoc with multiline string
        !            29: $multiline_string = <<<EOT
        !            30: hello world
        !            31: The big brown fox jumped over;
        !            32: the lazy dog
        !            33: This is a double quoted string
        !            34: EOT;
        !            35: 
        !            36: // heredoc with diferent whitespaces
        !            37: $diff_whitespaces = <<<EOT
        !            38: hello\r world\t
        !            39: 1111\t\t != 2222\v\v
        !            40: heredoc\ndouble quoted string. with\vdifferent\fwhite\vspaces
        !            41: EOT;
        !            42: 
        !            43: // heredoc with numeric values
        !            44: $numeric_string = <<<EOT
        !            45: 11 < 12. 123 >22
        !            46: 2222 != 1111.\t 0000 = 0000\n
        !            47: EOT;
        !            48: 
        !            49: // heredoc with quote chars & slash
        !            50: $quote_char_string = <<<EOT
        !            51: This's a string with quotes:
        !            52: "strings in double quote";
        !            53: 'strings in single quote';
        !            54: this\line is single quoted /with\slashes
        !            55: EOT;
        !            56: 
        !            57: // array to be passed to $array argument
        !            58: $array = array('f' => "first", "s" => 'second', 1, 2.222);
        !            59: 
        !            60: // different heredoc strings to be passed to $var argument
        !            61: $vars = array(
        !            62:   $empty_string,
        !            63:   $blank_line,
        !            64:   $multiline_string,
        !            65:   $diff_whitespaces,
        !            66:   $numeric_string,
        !            67:   $quote_char_string
        !            68: );
        !            69: 
        !            70: // loop through the various elements of $arrays to test array_unshift()
        !            71: $iterator = 1;
        !            72: foreach($vars as $var) {
        !            73:   echo "-- Iteration $iterator --\n";
        !            74:   $temp_array = $array;  // assign $array to another temporary $temp_array
        !            75: 
        !            76:   /* with default argument */
        !            77:   // returns element count in the resulting array after arguments are pushed to
        !            78:   // beginning of the given array
        !            79:   var_dump( array_unshift($temp_array, $var) );
        !            80:   
        !            81:   // dump the resulting array
        !            82:   var_dump($temp_array);
        !            83: 
        !            84:   /* with all possible arguments */
        !            85:   // returns element count in the resulting array after arguments are pushed to
        !            86:   // beginning of the given array
        !            87:   $temp_array = $array;
        !            88:   var_dump( array_unshift($temp_array, $var, "hello", 'world') );
        !            89:   
        !            90:   // dump the resulting array
        !            91:   var_dump($temp_array);
        !            92:   $iterator++;
        !            93: }
        !            94: 
        !            95: echo "Done";
        !            96: ?>
        !            97: --EXPECTF--
        !            98: *** Testing array_unshift() : heredoc strings for $var argument ***
        !            99: -- Iteration 1 --
        !           100: int(5)
        !           101: array(5) {
        !           102:   [0]=>
        !           103:   string(0) ""
        !           104:   ["f"]=>
        !           105:   string(5) "first"
        !           106:   ["s"]=>
        !           107:   string(6) "second"
        !           108:   [1]=>
        !           109:   int(1)
        !           110:   [2]=>
        !           111:   float(2.222)
        !           112: }
        !           113: int(7)
        !           114: array(7) {
        !           115:   [0]=>
        !           116:   string(0) ""
        !           117:   [1]=>
        !           118:   string(5) "hello"
        !           119:   [2]=>
        !           120:   string(5) "world"
        !           121:   ["f"]=>
        !           122:   string(5) "first"
        !           123:   ["s"]=>
        !           124:   string(6) "second"
        !           125:   [3]=>
        !           126:   int(1)
        !           127:   [4]=>
        !           128:   float(2.222)
        !           129: }
        !           130: -- Iteration 2 --
        !           131: int(5)
        !           132: array(5) {
        !           133:   [0]=>
        !           134:   string(1) "
        !           135: "
        !           136:   ["f"]=>
        !           137:   string(5) "first"
        !           138:   ["s"]=>
        !           139:   string(6) "second"
        !           140:   [1]=>
        !           141:   int(1)
        !           142:   [2]=>
        !           143:   float(2.222)
        !           144: }
        !           145: int(7)
        !           146: array(7) {
        !           147:   [0]=>
        !           148:   string(1) "
        !           149: "
        !           150:   [1]=>
        !           151:   string(5) "hello"
        !           152:   [2]=>
        !           153:   string(5) "world"
        !           154:   ["f"]=>
        !           155:   string(5) "first"
        !           156:   ["s"]=>
        !           157:   string(6) "second"
        !           158:   [3]=>
        !           159:   int(1)
        !           160:   [4]=>
        !           161:   float(2.222)
        !           162: }
        !           163: -- Iteration 3 --
        !           164: int(5)
        !           165: array(5) {
        !           166:   [0]=>
        !           167:   string(86) "hello world
        !           168: The big brown fox jumped over;
        !           169: the lazy dog
        !           170: This is a double quoted string"
        !           171:   ["f"]=>
        !           172:   string(5) "first"
        !           173:   ["s"]=>
        !           174:   string(6) "second"
        !           175:   [1]=>
        !           176:   int(1)
        !           177:   [2]=>
        !           178:   float(2.222)
        !           179: }
        !           180: int(7)
        !           181: array(7) {
        !           182:   [0]=>
        !           183:   string(86) "hello world
        !           184: The big brown fox jumped over;
        !           185: the lazy dog
        !           186: This is a double quoted string"
        !           187:   [1]=>
        !           188:   string(5) "hello"
        !           189:   [2]=>
        !           190:   string(5) "world"
        !           191:   ["f"]=>
        !           192:   string(5) "first"
        !           193:   ["s"]=>
        !           194:   string(6) "second"
        !           195:   [3]=>
        !           196:   int(1)
        !           197:   [4]=>
        !           198:   float(2.222)
        !           199: }
        !           200: -- Iteration 4 --
        !           201: int(5)
        !           202: array(5) {
        !           203:   [0]=>
        !           204:   string(88) "hello
 world     
        !           205: 1111            != 2222
        !           206: heredoc
        !           207: double quoted string. withdifferentwhitespaces"
        !           208:   ["f"]=>
        !           209:   string(5) "first"
        !           210:   ["s"]=>
        !           211:   string(6) "second"
        !           212:   [1]=>
        !           213:   int(1)
        !           214:   [2]=>
        !           215:   float(2.222)
        !           216: }
        !           217: int(7)
        !           218: array(7) {
        !           219:   [0]=>
        !           220:   string(88) "hello
 world     
        !           221: 1111            != 2222
        !           222: heredoc
        !           223: double quoted string. withdifferentwhitespaces"
        !           224:   [1]=>
        !           225:   string(5) "hello"
        !           226:   [2]=>
        !           227:   string(5) "world"
        !           228:   ["f"]=>
        !           229:   string(5) "first"
        !           230:   ["s"]=>
        !           231:   string(6) "second"
        !           232:   [3]=>
        !           233:   int(1)
        !           234:   [4]=>
        !           235:   float(2.222)
        !           236: }
        !           237: -- Iteration 5 --
        !           238: int(5)
        !           239: array(5) {
        !           240:   [0]=>
        !           241:   string(44) "11 < 12. 123 >22
        !           242: 2222 != 1111.   0000 = 0000
        !           243: "
        !           244:   ["f"]=>
        !           245:   string(5) "first"
        !           246:   ["s"]=>
        !           247:   string(6) "second"
        !           248:   [1]=>
        !           249:   int(1)
        !           250:   [2]=>
        !           251:   float(2.222)
        !           252: }
        !           253: int(7)
        !           254: array(7) {
        !           255:   [0]=>
        !           256:   string(44) "11 < 12. 123 >22
        !           257: 2222 != 1111.   0000 = 0000
        !           258: "
        !           259:   [1]=>
        !           260:   string(5) "hello"
        !           261:   [2]=>
        !           262:   string(5) "world"
        !           263:   ["f"]=>
        !           264:   string(5) "first"
        !           265:   ["s"]=>
        !           266:   string(6) "second"
        !           267:   [3]=>
        !           268:   int(1)
        !           269:   [4]=>
        !           270:   float(2.222)
        !           271: }
        !           272: -- Iteration 6 --
        !           273: int(5)
        !           274: array(5) {
        !           275:   [0]=>
        !           276:   string(123) "This's a string with quotes:
        !           277: "strings in double quote";
        !           278: 'strings in single quote';
        !           279: this\line is single quoted /with\slashes"
        !           280:   ["f"]=>
        !           281:   string(5) "first"
        !           282:   ["s"]=>
        !           283:   string(6) "second"
        !           284:   [1]=>
        !           285:   int(1)
        !           286:   [2]=>
        !           287:   float(2.222)
        !           288: }
        !           289: int(7)
        !           290: array(7) {
        !           291:   [0]=>
        !           292:   string(123) "This's a string with quotes:
        !           293: "strings in double quote";
        !           294: 'strings in single quote';
        !           295: this\line is single quoted /with\slashes"
        !           296:   [1]=>
        !           297:   string(5) "hello"
        !           298:   [2]=>
        !           299:   string(5) "world"
        !           300:   ["f"]=>
        !           301:   string(5) "first"
        !           302:   ["s"]=>
        !           303:   string(6) "second"
        !           304:   [3]=>
        !           305:   int(1)
        !           306:   [4]=>
        !           307:   float(2.222)
        !           308: }
        !           309: Done

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