Annotation of embedaddon/php/ext/standard/tests/array/array_push.phpt, revision 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>