Annotation of embedaddon/php/ext/standard/tests/array/array_push.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_push() function
                      3: --FILE--
                      4: <?php
                      5: 
                      6: /* Prototype: int array_push( array &array );
                      7:  * Description: Push one or more elements onto the end of array
                      8:  and returns the new number of elements in the array.
                      9:  */
                     10: 
                     11: $empty_array = array();
                     12: $number = 5;
                     13: $str = "abc";
                     14: 
                     15: 
                     16: /* Various combinations of arrays to be used for the test */
                     17: $mixed_array = array(
                     18:   array(),
                     19:   array( 1,2,3,4,5,6,7,8,9 ),
                     20:   array( "One", "_Two", "Three", "Four", "Five" ),
                     21:   array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ),
                     22:   array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee" ),
                     23:   array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five" ),
                     24:   array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ),
                     25:   array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" => "FFF",
                     26:          "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five", "4name" => "jonny", "a" => NULL, NULL => 3 ),
                     27:   array( 12, "name", 'age', '45' ),
                     28:   array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ),
                     29:   array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6,
                     30:           5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557 )
                     31: );
                     32: 
                     33: /* Error Conditions */
                     34: echo "\n*** Testing Error Conditions ***\n";
                     35: 
                     36: /* Zero argument  */
                     37: var_dump( array_push() );
                     38: 
                     39: /* Scalar argument */
                     40: var_dump( array_push($number, 22) );
                     41: 
                     42: /* String argument */
                     43: var_dump( array_push($str, 22) );
                     44: 
                     45: /* Invalid Number of arguments */
                     46: var_dump( array_push($mixed_array[1],1,2) );
                     47: 
                     48: /* Empty Array as argument */
                     49: var_dump( array_push($empty_array, 2) );
                     50: 
                     51: 
                     52: /* Loop to test normal functionality with different arrays inputs */
                     53: echo "\n*** Testing with various array inputs ***\n";
                     54: 
                     55: $counter = 1;
                     56: foreach( $mixed_array as $sub_array )
                     57: { 
                     58:  echo "\n-- Input Array for Iteration $counter is --\n";
                     59:  print_r( $sub_array );
                     60:  echo "\nOutput after push is :\n";
                     61:  var_dump( array_push($sub_array, 22, "abc") );
                     62:  $counter++;
                     63: } 
                     64: 
                     65: /* Checking for return value and the new array formed from push operation */
                     66: echo "\n*** Checking for return value and the new array formed from push operation ***\n";
                     67: var_dump( array_push($mixed_array[2], 22, 33, "44") );
                     68: var_dump( $mixed_array[2] );
                     69: 
                     70: echo"\nDone";
                     71: ?>
                     72: --EXPECTF--
                     73: *** Testing Error Conditions ***
                     74: 
                     75: Warning: array_push() expects at least 2 parameters, 0 given in %s on line %d
                     76: NULL
                     77: 
                     78: Warning: array_push() expects parameter 1 to be array, integer given in %s on line %d
                     79: NULL
                     80: 
                     81: Warning: array_push() expects parameter 1 to be array, string given in %s on line %d
                     82: NULL
                     83: int(11)
                     84: int(1)
                     85: 
                     86: *** Testing with various array inputs ***
                     87: 
                     88: -- Input Array for Iteration 1 is --
                     89: Array
                     90: (
                     91: )
                     92: 
                     93: Output after push is :
                     94: int(2)
                     95: 
                     96: -- Input Array for Iteration 2 is --
                     97: Array
                     98: (
                     99:     [0] => 1
                    100:     [1] => 2
                    101:     [2] => 3
                    102:     [3] => 4
                    103:     [4] => 5
                    104:     [5] => 6
                    105:     [6] => 7
                    106:     [7] => 8
                    107:     [8] => 9
                    108:     [9] => 1
                    109:     [10] => 2
                    110: )
                    111: 
                    112: Output after push is :
                    113: int(13)
                    114: 
                    115: -- Input Array for Iteration 3 is --
                    116: Array
                    117: (
                    118:     [0] => One
                    119:     [1] => _Two
                    120:     [2] => Three
                    121:     [3] => Four
                    122:     [4] => Five
                    123: )
                    124: 
                    125: Output after push is :
                    126: int(7)
                    127: 
                    128: -- Input Array for Iteration 4 is --
                    129: Array
                    130: (
                    131:     [0] => 6
                    132:     [1] => six
                    133:     [2] => 7
                    134:     [3] => seven
                    135:     [4] => 8
                    136:     [5] => eight
                    137:     [6] => 9
                    138:     [7] => nine
                    139: )
                    140: 
                    141: Output after push is :
                    142: int(10)
                    143: 
                    144: -- Input Array for Iteration 5 is --
                    145: Array
                    146: (
                    147:     [a] => aaa
                    148:     [A] => AAA
                    149:     [c] => ccc
                    150:     [d] => ddd
                    151:     [e] => eee
                    152: )
                    153: 
                    154: Output after push is :
                    155: int(7)
                    156: 
                    157: -- Input Array for Iteration 6 is --
                    158: Array
                    159: (
                    160:     [1] => one
                    161:     [2] => two
                    162:     [3] => three
                    163:     [4] => four
                    164:     [5] => five
                    165: )
                    166: 
                    167: Output after push is :
                    168: int(7)
                    169: 
                    170: -- Input Array for Iteration 7 is --
                    171: Array
                    172: (
                    173:     [1] => one
                    174:     [2] => two
                    175:     [3] => 7
                    176:     [4] => four
                    177:     [5] => five
                    178: )
                    179: 
                    180: Output after push is :
                    181: int(7)
                    182: 
                    183: -- Input Array for Iteration 8 is --
                    184: Array
                    185: (
                    186:     [f] => fff
                    187:     [1] => one
                    188:     [4] => 6
                    189:     [] => 3
                    190:     [2] => float
                    191:     [F] => FFF
                    192:     [blank] => 
                    193:     [3] => 3.7
                    194:     [5] => Five
                    195:     [6] => 8.6
                    196:     [4name] => jonny
                    197:     [a] => 
                    198: )
                    199: 
                    200: Output after push is :
                    201: int(14)
                    202: 
                    203: -- Input Array for Iteration 9 is --
                    204: Array
                    205: (
                    206:     [0] => 12
                    207:     [1] => name
                    208:     [2] => age
                    209:     [3] => 45
                    210: )
                    211: 
                    212: Output after push is :
                    213: int(6)
                    214: 
                    215: -- Input Array for Iteration 10 is --
                    216: Array
                    217: (
                    218:     [0] => Array
                    219:         (
                    220:             [0] => oNe
                    221:             [1] => tWo
                    222:             [2] => 4
                    223:         )
                    224: 
                    225:     [1] => Array
                    226:         (
                    227:             [0] => 10
                    228:             [1] => 20
                    229:             [2] => 30
                    230:             [3] => 40
                    231:             [4] => 50
                    232:         )
                    233: 
                    234:     [2] => Array
                    235:         (
                    236:         )
                    237: 
                    238: )
                    239: 
                    240: Output after push is :
                    241: int(5)
                    242: 
                    243: -- Input Array for Iteration 11 is --
                    244: Array
                    245: (
                    246:     [one] => 2
                    247:     [three] => 3
                    248:     [0] => 3
                    249:     [1] => 4
                    250:     [3] => 33
                    251:     [4] => 44
                    252:     [5] => 57
                    253:     [6] => 6
                    254:     [5.4] => 554
                    255:     [5.7] => 557
                    256: )
                    257: 
                    258: Output after push is :
                    259: int(12)
                    260: 
                    261: *** Checking for return value and the new array formed from push operation ***
                    262: int(8)
                    263: array(8) {
                    264:   [0]=>
                    265:   string(3) "One"
                    266:   [1]=>
                    267:   string(4) "_Two"
                    268:   [2]=>
                    269:   string(5) "Three"
                    270:   [3]=>
                    271:   string(4) "Four"
                    272:   [4]=>
                    273:   string(4) "Five"
                    274:   [5]=>
                    275:   int(22)
                    276:   [6]=>
                    277:   int(33)
                    278:   [7]=>
                    279:   string(2) "44"
                    280: }
                    281: 
                    282: Done

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