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

1.1     ! misho       1: --TEST--
        !             2: Test array_splice() function : usage variations - references
        !             3: --FILE--
        !             4: <?php
        !             5: /* 
        !             6:  * proto array array_splice(array input, int offset [, int length [, array replacement]])
        !             7:  * Function is implemented in ext/standard/array.c
        !             8: */ 
        !             9: 
        !            10: 
        !            11: echo "test behaviour when input array is in a reference set\n";
        !            12: 
        !            13: $input_array=array (array(1,2));
        !            14: $input_array[]=&$input_array[0];
        !            15: var_dump (array_splice ($input_array[0],1,1));
        !            16: var_dump ($input_array);
        !            17: 
        !            18: echo "Test behaviour of input arrays containing references \n";
        !            19: /*
        !            20:  *  There are three regions to test:, before cut, the cut and after the cut.
        !            21:  *  For reach we check a plain value, a reference value with integer key and a
        !            22:  *  reference value with a string key.
        !            23:  */
        !            24: $numbers=array(0,1,2,3,4,5,6,7,8,9,10,11,12);
        !            25: $input_array=array(0,1,&$numbers[2],"three"=>&$numbers[3],4,&$numbers[5],"six"=>&$numbers[6],7,&$numbers[8],"nine"=>&$numbers[9]);
        !            26: var_dump (array_splice ($input_array,4,3));
        !            27: var_dump ($input_array);
        !            28: 
        !            29: echo "Test behaviour of replacement array containing references \n";
        !            30: 
        !            31: $three=3;
        !            32: $four=4;
        !            33: $input_array=array (0,1,2);
        !            34: $b=array(&$three,"fourkey"=>&$four);
        !            35: array_splice ($input_array,-1,1,$b);
        !            36: var_dump ($input_array);
        !            37: 
        !            38: echo "Test behaviour of replacement which is part of reference set \n";
        !            39: 
        !            40: $int=3;
        !            41: $input_array=array (1,2);
        !            42: $b=&$int;
        !            43: 
        !            44: array_splice ($input_array,-1,1,$b);
        !            45: var_dump ($input_array);
        !            46: echo "Done\n";
        !            47: ?>
        !            48: --EXPECT--
        !            49: test behaviour when input array is in a reference set
        !            50: array(1) {
        !            51:   [0]=>
        !            52:   int(2)
        !            53: }
        !            54: array(2) {
        !            55:   [0]=>
        !            56:   &array(1) {
        !            57:     [0]=>
        !            58:     int(1)
        !            59:   }
        !            60:   [1]=>
        !            61:   &array(1) {
        !            62:     [0]=>
        !            63:     int(1)
        !            64:   }
        !            65: }
        !            66: Test behaviour of input arrays containing references 
        !            67: array(3) {
        !            68:   [0]=>
        !            69:   int(4)
        !            70:   [1]=>
        !            71:   &int(5)
        !            72:   ["six"]=>
        !            73:   &int(6)
        !            74: }
        !            75: array(7) {
        !            76:   [0]=>
        !            77:   int(0)
        !            78:   [1]=>
        !            79:   int(1)
        !            80:   [2]=>
        !            81:   &int(2)
        !            82:   ["three"]=>
        !            83:   &int(3)
        !            84:   [3]=>
        !            85:   int(7)
        !            86:   [4]=>
        !            87:   &int(8)
        !            88:   ["nine"]=>
        !            89:   &int(9)
        !            90: }
        !            91: Test behaviour of replacement array containing references 
        !            92: array(4) {
        !            93:   [0]=>
        !            94:   int(0)
        !            95:   [1]=>
        !            96:   int(1)
        !            97:   [2]=>
        !            98:   &int(3)
        !            99:   [3]=>
        !           100:   &int(4)
        !           101: }
        !           102: Test behaviour of replacement which is part of reference set 
        !           103: array(2) {
        !           104:   [0]=>
        !           105:   int(1)
        !           106:   [1]=>
        !           107:   int(3)
        !           108: }
        !           109: Done

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