zoe             Wed Apr 11 11:44:37 2007 UTC

  Added files:                 
    /php-src/ext/standard/tests/array   array_merge.phpt array_push.phpt 
    /php-src/ext/standard/tests/strings fprintf.phpt 

  Modified files:              
    /php-src/ext/standard/tests/array   count_recursive.phpt 
    /php-src/ext/standard/tests/strings md5.phpt 
  Log:
  new tests: array_merge, array_push, fprintf. modified tests: count_recursive, 
md5.
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/count_recursive.phpt?r1=1.4&r2=1.5&diff_format=u
Index: php-src/ext/standard/tests/array/count_recursive.phpt
diff -u php-src/ext/standard/tests/array/count_recursive.phpt:1.4 
php-src/ext/standard/tests/array/count_recursive.phpt:1.5
--- php-src/ext/standard/tests/array/count_recursive.phpt:1.4   Sat Nov 16 
17:26:52 2002
+++ php-src/ext/standard/tests/array/count_recursive.phpt       Wed Apr 11 
11:44:37 2007
@@ -1,52 +1,234 @@
 --TEST--
-count
+Test count() function 
 --FILE--
 <?php
-print "Testing NULL...\n";
+/* Prototype: int count ( mixed $var [, int $mode] );
+   Discription: Count elements in an array, or properties in an object
+*/
+
+echo "*** Testing basic functionality of count() function ***\n";
+print "-- Testing NULL --\n";
 $arr = NULL;
 print "COUNT_NORMAL: should be 0, is ".count($arr, COUNT_NORMAL)."\n";
 print "COUNT_RECURSIVE: should be 0, is ".count($arr, COUNT_RECURSIVE)."\n";
 
-print "Testing arrays...\n";
+print "-- Testing arrays --\n";
 $arr = array(1, array(3, 4, array(6, array(8))));
 print "COUNT_NORMAL: should be 2, is ".count($arr, COUNT_NORMAL)."\n";
 print "COUNT_RECURSIVE: should be 8, is ".count($arr, COUNT_RECURSIVE)."\n";
 
-print "Testing hashes...\n";
+print "-- Testing hashes --\n";
 $arr = array("a" => 1, "b" => 2, array("c" => 3, array("d" => 5)));
 print "COUNT_NORMAL: should be 3, is ".count($arr, COUNT_NORMAL)."\n";
 print "COUNT_RECURSIVE: should be 6, is ".count($arr, COUNT_RECURSIVE)."\n";
 
-print "Testing strings...\n";
+print "-- Testing strings --\n";
 print "COUNT_NORMAL: should be 1, is ".count("string", COUNT_NORMAL)."\n";
 print "COUNT_RECURSIVE: should be 1, is ".count("string", 
COUNT_RECURSIVE)."\n";
 
-print "Testing various types with no second argument.\n";
+print "-- Testing various types with no second argument --\n";
 print "COUNT_NORMAL: should be 1, is ".count("string")."\n";
 print "COUNT_NORMAL: should be 2, is ".count(array("a", array("b")))."\n";
 
 $arr = array('a'=>array(NULL, NULL, NULL), 1=>array(NULL=>1, 1=>NULL),
        array(array(array(array(array(NULL))))));
-print "Testing really cool arrays ;)\n";
+print "-- Testing really cool arrays --\n";
 print "COUNT_NORMAL: should be 3, is ".count($arr, COUNT_NORMAL)."\n";
 print "COUNT_RECURSIVE: should be 13, is ".count($arr, COUNT_RECURSIVE)."\n";
+
+echo "\n*** Testing possible variations of count() function on arrays ***";
+$count_array = array(
+  array(),
+  array( 1 => "string"),
+  array( "" => "string", 0 => "a", NULL => "b", -1.00 => "c",
+         array(array(array(NULL)))),
+  array( -2.44444 => 12, array(array(1, 2, array(array("0"))))),
+  array( "a" => 1, "b" => -2.344, "b" => "string", "c" => NULL, "d" => -2.344),
+  array( 4 => 1, 3 => -2.344, "3" => "string", "2" => NULL,
+         1 => -2.344, array()),
+  array( TRUE => TRUE, FALSE => FALSE, "" => "", " " => " ", 
+        NULL => NULL, "\x000" => "\x000", "\000" => "\000"),
+  array( NULL, 1.23 => "Hi", "string" => "hello", 
+         array("" => "World", "-2.34" => "a", "0" => "b"))
+);
+
+$i = 0;
+foreach ($count_array as $count_value) {
+  echo "\n-- Iteration $i --\n";
+  print "COUNT_NORMAL is ".count($count_value, COUNT_NORMAL)."\n";
+  print "COUNT_RECURSIVE is ".count($count_value, COUNT_RECURSIVE)."\n";  
+  $i++;
+}
+
+
+/* Testing count() by passing constant with no second argument */
+print "\n-- Testing count() on constants with no second argument --\n";
+print "COUNT_NORMAL: should be 1, is ".count(100)."\n"; 
+print "COUNT_NORMAL: should be 1, is ".count(-23.45)."\n";
+
+print "\n-- Testing count() on NULL and Unset variables --\n";
+print "COUNT_NORMAL: should be 0, is ".count(NULL)."\n";
+print "COUNT_NORMAL: should be 1, is ".count("")."\n";
+print "COUNT_NORMAL: should be 0, is "[EMAIL PROTECTED]($a)."\n";
+
+
+print "\n-- Testing count() on an empty sub-array --\n";
+$arr = array(1, array(3, 4, array()));
+print "COUNT_NORMAL: should be 2, is ".count($arr, COUNT_NORMAL)."\n";
+print "COUNT_RECURSIVE: should be 5, is ".count($arr, COUNT_RECURSIVE)."\n";
+
+echo "\n-- Testing count() on objects with Countable interface --\n";
+class count_class implements Countable {
+  private $var_private;
+  public $var_public;
+  protected $var_protected;
+
+  public function count() {
+    return 3;
+  }
+}
+
+$obj = new count_class();
+print "COUNT_NORMAL: should be 3, is ".count($obj)."\n";
+
+
+echo "\n-- Testing count() on resource type --\n";
+$resource1 = fopen( __FILE__, "r" );  // Creating file(stream type) resource
+$resource2 = opendir( "." );  // Creating dir resource
+
+/* creating an array with resources as elements */
+$arr_resource = array("a" => $resource1, "b" => $resource2);
+var_dump(count($arr_resource));
+
+echo "\n-- Testing count() on arrays containing references --\n";
+$arr = array(1, array("a", "b", "c"));
+$arr[2] = &$arr[1];
+
+$mode_arr = array( COUNT_NORMAL, COUNT_RECURSIVE, 0, 1, -1, -1.45, 2, TRUE, 
+                   FALSE, NULL);
+for( $i =0; $i < count( $mode_arr ); $i++) {
+  echo "For mode '$mode_arr[$i]' count is => ";
+  var_dump(count($arr, $mode_arr[$i]));
+}
+  
+
+echo "\n-- Testing error conditions --";
+var_dump( count() );  // No. of args = 0
+var_dump( count(array(), COUNT_NORMAL, 100) );  // No. of args > expected
+
+/* Testing Invalid type arguments */
+var_dump( count("string", ABCD) );
+var_dump( count(100, "string") );
+var_dump( count(array(), "") );
+
+echo "\nDone";
+
+--CLEAN--
+/* closing the resource handles */
+fclose( $resource1 );
+closedir( $resource2 );
 ?>
---EXPECT--
-Testing NULL...
+--EXPECTF--
+*** Testing basic functionality of count() function ***
+-- Testing NULL --
 COUNT_NORMAL: should be 0, is 0
 COUNT_RECURSIVE: should be 0, is 0
-Testing arrays...
+-- Testing arrays --
 COUNT_NORMAL: should be 2, is 2
 COUNT_RECURSIVE: should be 8, is 8
-Testing hashes...
+-- Testing hashes --
 COUNT_NORMAL: should be 3, is 3
 COUNT_RECURSIVE: should be 6, is 6
-Testing strings...
+-- Testing strings --
 COUNT_NORMAL: should be 1, is 1
 COUNT_RECURSIVE: should be 1, is 1
-Testing various types with no second argument.
+-- Testing various types with no second argument --
 COUNT_NORMAL: should be 1, is 1
 COUNT_NORMAL: should be 2, is 2
-Testing really cool arrays ;)
+-- Testing really cool arrays --
 COUNT_NORMAL: should be 3, is 3
 COUNT_RECURSIVE: should be 13, is 13
+
+*** Testing possible variations of count() function on arrays ***
+-- Iteration 0 --
+COUNT_NORMAL is 0
+COUNT_RECURSIVE is 0
+
+-- Iteration 1 --
+COUNT_NORMAL is 1
+COUNT_RECURSIVE is 1
+
+-- Iteration 2 --
+COUNT_NORMAL is 4
+COUNT_RECURSIVE is 7
+
+-- Iteration 3 --
+COUNT_NORMAL is 2
+COUNT_RECURSIVE is 8
+
+-- Iteration 4 --
+COUNT_NORMAL is 4
+COUNT_RECURSIVE is 4
+
+-- Iteration 5 --
+COUNT_NORMAL is 5
+COUNT_RECURSIVE is 5
+
+-- Iteration 6 --
+COUNT_NORMAL is 6
+COUNT_RECURSIVE is 6
+
+-- Iteration 7 --
+COUNT_NORMAL is 4
+COUNT_RECURSIVE is 7
+
+-- Testing count() on constants with no second argument --
+COUNT_NORMAL: should be 1, is 1
+COUNT_NORMAL: should be 1, is 1
+
+-- Testing count() on NULL and Unset variables --
+COUNT_NORMAL: should be 0, is 0
+COUNT_NORMAL: should be 1, is 1
+COUNT_NORMAL: should be 0, is 0
+
+-- Testing count() on an empty sub-array --
+COUNT_NORMAL: should be 2, is 2
+COUNT_RECURSIVE: should be 5, is 5
+
+-- Testing count() on objects with Countable interface --
+COUNT_NORMAL: should be 3, is 3
+
+-- Testing count() on resource type --
+int(2)
+
+-- Testing count() on arrays containing references --
+For mode '0' count is => int(3)
+For mode '1' count is => int(9)
+For mode '0' count is => int(3)
+For mode '1' count is => int(9)
+For mode '-1' count is => int(3)
+For mode '-1.45' count is => int(3)
+For mode '2' count is => int(3)
+For mode '1' count is => int(9)
+For mode '' count is => int(3)
+For mode '' count is => int(3)
+
+-- Testing error conditions --
+Warning: count() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+Warning: count() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+
+Notice: Use of undefined constant ABCD - assumed 'ABCD' in %s on line %d
+
+Warning: count() expects parameter 2 to be long, string given in %s on line %d
+NULL
+
+Warning: count() expects parameter 2 to be long, string given in %s on line %d
+NULL
+
+Warning: count() expects parameter 2 to be long, string given in %s on line %d
+NULL
+
+Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/md5.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/md5.phpt

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_merge.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/array_merge.phpt
+++ php-src/ext/standard/tests/array/array_merge.phpt
--TEST--
Test array_merge() function
--FILE--
<?php
/* Prototype: array array_merge(array $array1 [, array $array2 [, array $...]]);
   Description: Merge one or more arrays
*/

echo "\n*** Testing array_merge() basic functionality ***";
$begin_array = array(
  array(),
  array( 1 => "string"),
  array( "" => "string"),
  array( -2.44444 => 12),
  array( "a" => 1, "b" => -2.344, "b" => "string", "c" => NULL, "d" => -2.344),
  array( 4 => 1, 3 => -2.344, "3" => "string", "2" => NULL,1 => -2.344),
  array( NULL, 1.23 => "Hi", "string" => "hello", 
  array("" => "World", "-2.34" => "a", "0" => "b"))
);

$end_array   = array(
  array(),
  array( 1 => "string"),
  array( "" => "string"),
  array( -2.44444 => 12),
  array( "a" => 1, "b" => -2.344, "b" => "string", "c" => NULL, "d" => -2.344),
  array( 4 => 1, 3 => -2.344, "3" => "string", "2" => NULL, 1=> -2.344), 
  array( NULL, 1.23 => "Hi", "string" => "hello", 
         array("" => "World", "-2.34" => "a", "0" => "b"))
);

/* loop through to merge two arrays */
$count_outer = 0;
foreach($begin_array as $first) {
  echo "\n\n--- Iteration $count_outer ---";
  $count_inner = 0;
  foreach($end_array as $second) {
    echo "\n-- Inner iteration $count_inner of Iteration $count_outer --\n";
    $result = array_merge($first, $second);
    print_r($result);
    $count_inner++;
  }                     
  $count_outer++;
}


echo "\n*** Testing array_merge() with three or more arrays ***\n";
var_dump( array_merge( $end_array[0], 
                       $end_array[5], 
                       $end_array[4],
                       $end_array[6]
                     )
        );

var_dump( array_merge( $end_array[0], 
                       $end_array[5], 
                       array("array on fly"), 
                       array("nullarray" => array())
                     )
        );


echo "\n*** Testing single array argument ***\n";
/* Empty array */
var_dump(array_merge(array())); 

/* associative array with string keys, which will not be re-indexed */
var_dump(array_merge($begin_array[4]));

/* associative array with numeric keys, which will be re-indexed */
var_dump(array_merge($begin_array[5]));

/* associative array with mixed keys and sub-array as element */
var_dump(array_merge($begin_array[6]));

echo "\n*** Testing array_merge() with typecasting non-array to array ***\n";
var_dump(array_merge($begin_array[4], (array)"type1", (array)10, (array)12.34));

echo "\n*** Testing error conditions ***";
/* Invalid argumens */
var_dump(array_merge());
var_dump(array_merge(100, 200));
var_dump(array_merge($begin_array[0], $begin_array[1], 100));
var_dump(array_merge($begin_array[0], $begin_array[1], $arr4));

echo "Done\n";
?> 
--EXPECTF--
*** Testing array_merge() basic functionality ***

--- Iteration 0 ---
-- Inner iteration 0 of Iteration 0 --
Array
(
)

-- Inner iteration 1 of Iteration 0 --
Array
(
    [0] => string
)

-- Inner iteration 2 of Iteration 0 --
Array
(
    [] => string
)

-- Inner iteration 3 of Iteration 0 --
Array
(
    [0] => 12
)

-- Inner iteration 4 of Iteration 0 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 0 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
)

-- Inner iteration 6 of Iteration 0 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 1 ---
-- Inner iteration 0 of Iteration 1 --
Array
(
    [0] => string
)

-- Inner iteration 1 of Iteration 1 --
Array
(
    [0] => string
    [1] => string
)

-- Inner iteration 2 of Iteration 1 --
Array
(
    [0] => string
    [] => string
)

-- Inner iteration 3 of Iteration 1 --
Array
(
    [0] => string
    [1] => 12
)

-- Inner iteration 4 of Iteration 1 --
Array
(
    [0] => string
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 1 --
Array
(
    [0] => string
    [1] => 1
    [2] => string
    [3] => 
    [4] => -2.344
)

-- Inner iteration 6 of Iteration 1 --
Array
(
    [0] => string
    [1] => 
    [2] => Hi
    [string] => hello
    [3] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 2 ---
-- Inner iteration 0 of Iteration 2 --
Array
(
    [] => string
)

-- Inner iteration 1 of Iteration 2 --
Array
(
    [] => string
    [0] => string
)

-- Inner iteration 2 of Iteration 2 --
Array
(
    [] => string
)

-- Inner iteration 3 of Iteration 2 --
Array
(
    [] => string
    [0] => 12
)

-- Inner iteration 4 of Iteration 2 --
Array
(
    [] => string
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 2 --
Array
(
    [] => string
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
)

-- Inner iteration 6 of Iteration 2 --
Array
(
    [] => string
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 3 ---
-- Inner iteration 0 of Iteration 3 --
Array
(
    [0] => 12
)

-- Inner iteration 1 of Iteration 3 --
Array
(
    [0] => 12
    [1] => string
)

-- Inner iteration 2 of Iteration 3 --
Array
(
    [0] => 12
    [] => string
)

-- Inner iteration 3 of Iteration 3 --
Array
(
    [0] => 12
    [1] => 12
)

-- Inner iteration 4 of Iteration 3 --
Array
(
    [0] => 12
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 3 --
Array
(
    [0] => 12
    [1] => 1
    [2] => string
    [3] => 
    [4] => -2.344
)

-- Inner iteration 6 of Iteration 3 --
Array
(
    [0] => 12
    [1] => 
    [2] => Hi
    [string] => hello
    [3] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 4 ---
-- Inner iteration 0 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 1 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
    [0] => string
)

-- Inner iteration 2 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
    [] => string
)

-- Inner iteration 3 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
    [0] => 12
)

-- Inner iteration 4 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
)

-- Inner iteration 6 of Iteration 4 --
Array
(
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 5 ---
-- Inner iteration 0 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
)

-- Inner iteration 1 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [4] => string
)

-- Inner iteration 2 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [] => string
)

-- Inner iteration 3 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [4] => 12
)

-- Inner iteration 4 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [4] => 1
    [5] => string
    [6] => 
    [7] => -2.344
)

-- Inner iteration 6 of Iteration 5 --
Array
(
    [0] => 1
    [1] => string
    [2] => 
    [3] => -2.344
    [4] => 
    [5] => Hi
    [string] => hello
    [6] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)


--- Iteration 6 ---
-- Inner iteration 0 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)

-- Inner iteration 1 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [3] => string
)

-- Inner iteration 2 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [] => string
)

-- Inner iteration 3 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [3] => 12
)

-- Inner iteration 4 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [a] => 1
    [b] => string
    [c] => 
    [d] => -2.344
)

-- Inner iteration 5 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [3] => 1
    [4] => string
    [5] => 
    [6] => -2.344
)

-- Inner iteration 6 of Iteration 6 --
Array
(
    [0] => 
    [1] => Hi
    [string] => hello
    [2] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

    [3] => 
    [4] => Hi
    [5] => Array
        (
            [] => World
            [-2.34] => a
            [0] => b
        )

)

*** Testing array_merge() with three or more arrays ***
array(12) {
  [0]=>
  int(1)
  [1]=>
  string(6) "string"
  [2]=>
  NULL
  [3]=>
  float(-2.344)
  ["a"]=>
  int(1)
  ["b"]=>
  string(6) "string"
  ["c"]=>
  NULL
  ["d"]=>
  float(-2.344)
  [4]=>
  NULL
  [5]=>
  string(2) "Hi"
  ["string"]=>
  string(5) "hello"
  [6]=>
  array(3) {
    [""]=>
    string(5) "World"
    ["-2.34"]=>
    string(1) "a"
    [0]=>
    string(1) "b"
  }
}
array(6) {
  [0]=>
  int(1)
  [1]=>
  string(6) "string"
  [2]=>
  NULL
  [3]=>
  float(-2.344)
  [4]=>
  string(12) "array on fly"
  ["nullarray"]=>
  array(0) {
  }
}

*** Testing single array argument ***
array(0) {
}
array(4) {
  ["a"]=>
  int(1)
  ["b"]=>
  string(6) "string"
  ["c"]=>
  NULL
  ["d"]=>
  float(-2.344)
}
array(4) {
  [0]=>
  int(1)
  [1]=>
  string(6) "string"
  [2]=>
  NULL
  [3]=>
  float(-2.344)
}
array(4) {
  [0]=>
  NULL
  [1]=>
  string(2) "Hi"
  ["string"]=>
  string(5) "hello"
  [2]=>
  array(3) {
    [""]=>
    string(5) "World"
    ["-2.34"]=>
    string(1) "a"
    [0]=>
    string(1) "b"
  }
}

*** Testing array_merge() with typecasting non-array to array ***
array(7) {
  ["a"]=>
  int(1)
  ["b"]=>
  string(6) "string"
  ["c"]=>
  NULL
  ["d"]=>
  float(-2.344)
  [0]=>
  string(5) "type1"
  [1]=>
  int(10)
  [2]=>
  float(12.34)
}

*** Testing error conditions ***
Warning: Wrong parameter count for array_merge() in %s on line %d
NULL

Warning: array_merge(): Argument #1 is not an array in %s on line %d

Warning: array_merge(): Argument #2 is not an array in %s on line %d
NULL

Warning: array_merge(): Argument #3 is not an array in %s on line %d
NULL

Notice: Undefined variable: arr4 in %s on line %d

Warning: array_merge(): Argument #3 is not an array in %s on line %d
NULL
Done

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_push.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/array_push.phpt
+++ php-src/ext/standard/tests/array/array_push.phpt
--TEST--
Test array_push() function
--FILE--
<?php

/* Prototype: int array_push( array &array );
 * Description: Push one or more elements onto the end of array
 and returns the new number of elements in the array.
 */

$empty_array = array();
$number = 5;
$str = "abc";


/* Various combinations of arrays to be used for the test */
$mixed_array = array(
  array(),
  array( 1,2,3,4,5,6,7,8,9 ),
  array( "One", "_Two", "Three", "Four", "Five" ),
  array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ),
  array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee" ),
  array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => 
"five" ),
  array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ),
  array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" 
=> "FFF",
         "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five", "4name" 
=> "jonny", "a" => NULL, NULL => 3 ),
  array( 12, "name", 'age', '45' ),
  array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ),
  array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6,
          5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557 )
);

/* Error Conditions */
echo "\n*** Testing Error Conditions ***\n";

/* Zero argument  */
var_dump( array_push() );

/* Scalar argument */
var_dump( array_push($number, 22) );

/* String argument */
var_dump( array_push($str, 22) );

/* Invalid Number of arguments */
var_dump( array_push($mixed_array[1],1,2) );

/* Empty Array as argument */
var_dump( array_push($empty_array, 2) );


/* Loop to test normal functionality with different arrays inputs */
echo "\n*** Testing with various array inputs ***\n";

$counter = 1;
foreach( $mixed_array as $sub_array )
{ 
 echo "\n-- Input Array for Iteration $counter is --\n";
 print_r( $sub_array );
 echo "\nOutput after push is :\n";
 var_dump( array_push($sub_array, 22, "abc") );
 $counter++;
} 

/* Checking for return value and the new array formed from push operation */
echo "\n*** Checking for return value and the new array formed from push 
operation ***\n";
var_dump( array_push($mixed_array[2], 22, 33, "44") );
var_dump( $mixed_array[2] );

echo"\nDone";
?>
--EXPECTF--
*** Testing Error Conditions ***

Warning: Wrong parameter count for array_push() in %s on line %d
NULL

Warning: array_push(): First argument should be an array in %s on line %d
bool(false)

Warning: array_push(): First argument should be an array in %s on line %d
bool(false)
int(11)
int(1)

*** Testing with various array inputs ***

-- Input Array for Iteration 1 is --
Array
(
)

Output after push is :
int(2)

-- Input Array for Iteration 2 is --
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
    [9] => 1
    [10] => 2
)

Output after push is :
int(13)

-- Input Array for Iteration 3 is --
Array
(
    [0] => One
    [1] => _Two
    [2] => Three
    [3] => Four
    [4] => Five
)

Output after push is :
int(7)

-- Input Array for Iteration 4 is --
Array
(
    [0] => 6
    [1] => six
    [2] => 7
    [3] => seven
    [4] => 8
    [5] => eight
    [6] => 9
    [7] => nine
)

Output after push is :
int(10)

-- Input Array for Iteration 5 is --
Array
(
    [a] => aaa
    [A] => AAA
    [c] => ccc
    [d] => ddd
    [e] => eee
)

Output after push is :
int(7)

-- Input Array for Iteration 6 is --
Array
(
    [1] => one
    [2] => two
    [3] => three
    [4] => four
    [5] => five
)

Output after push is :
int(7)

-- Input Array for Iteration 7 is --
Array
(
    [1] => one
    [2] => two
    [3] => 7
    [4] => four
    [5] => five
)

Output after push is :
int(7)

-- Input Array for Iteration 8 is --
Array
(
    [f] => fff
    [1] => one
    [4] => 6
    [] => 3
    [2] => float
    [F] => FFF
    [blank] => 
    [3] => 3.7
    [5] => Five
    [6] => 8.6
    [4name] => jonny
    [a] => 
)

Output after push is :
int(14)

-- Input Array for Iteration 9 is --
Array
(
    [0] => 12
    [1] => name
    [2] => age
    [3] => 45
)

Output after push is :
int(6)

-- Input Array for Iteration 10 is --
Array
(
    [0] => Array
        (
            [0] => oNe
            [1] => tWo
            [2] => 4
        )

    [1] => Array
        (
            [0] => 10
            [1] => 20
            [2] => 30
            [3] => 40
            [4] => 50
        )

    [2] => Array
        (
        )

)

Output after push is :
int(5)

-- Input Array for Iteration 11 is --
Array
(
    [one] => 2
    [three] => 3
    [0] => 3
    [1] => 4
    [3] => 33
    [4] => 44
    [5] => 57
    [6] => 6
    [5.4] => 554
    [5.7] => 557
)

Output after push is :
int(12)

*** Checking for return value and the new array formed from push operation ***
int(8)
array(8) {
  [0]=>
  string(3) "One"
  [1]=>
  string(4) "_Two"
  [2]=>
  string(5) "Three"
  [3]=>
  string(4) "Four"
  [4]=>
  string(4) "Five"
  [5]=>
  int(22)
  [6]=>
  int(33)
  [7]=>
  string(2) "44"
}

Done

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/fprintf.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/fprintf.phpt
+++ php-src/ext/standard/tests/strings/fprintf.phpt
--TEST--
Test fprintf() function
--SKIPIF--
<?php

$path = dirname(__FILE__);
$data_file = "$path/dump.xt";
if !($fp = fopen($data_file, 'w')) {
  echo "File dump.txt could not be created ,hence exiting from testcase due to 
pre-requisite failure\n";
}
  
?>
--FILE--
<?php

/* Prototype: int fprintf( resource handle, string format[, mixed args [, mixed 
...]] )
 * Description: Write a formatted string to a stream
 */

$float_variation = array( "%f","%-f", "%+f", "%7.2f", "%-7.2f", "%07.2f", 
"%-07.2f", "%'#7.2f" );
$float_numbers = array( 0, 1, -1, 0.32, -0.32, 3.4. -3.4, 2.54, -2.54 );

$int_variation = array( "%d", "%-d", "%+d", "%7.2d", "%-7.2d", "%07.2d", 
"%-07.2d", "%'#7.2d" );
$int_numbers = array( 0, 1, -1, 2.7, -2.7, 23333333, -23333333, "1234" );

$char_variation = array( 'a', "a", 67, -67, 99 );

$string_variation = array( "%5s", "%-5s", "%05s", "%'#5s" );
$strings = array( NULL, "abc", 'aaa' );

/* creating dumping file */
if (!($fp = fopen('dump.txt', 'w')))
   return;

/* Testing Error Conditions */
echo "*** Testing Error Conditions ***\n";

/* zero argument */
var_dump( fprintf() );

/* scalar argument */
var_dump( fprintf(3) );

/* NULL argument */
var_dump( fprintf(NULL) );

$counter = 1;
/* float type variations */
fprintf($fp, "\n*** Testing fprintf() with floats ***\n");

foreach( $float_variation as $float_var ) {
  fprintf( $fp, "\n-- Iteration %d --\n",$counter);
  foreach( $float_numbers as $float_num ) {
    fprintf( $fp, "\n");
    fprintf( $fp, $float_var, $float_num );
  }
  $counter++;
}

$counter = 1;
/* integer type variations */
fprintf($fp, "\n*** Testing fprintf() with integers ***\n");
foreach( $int_variation as $int_var ) {
  fprintf( $fp, "\n-- Iteration %d --\n",$counter);
  foreach( $int_numbers as $int_num ) {
    fprintf( $fp, "\n");
    fprintf( $fp, $int_var, $int_num );
  }
  $counter++;
}

/* binary type variations */
fprintf($fp, "\n*** Testing fprintf() with binary ***\n");
foreach( $int_numbers as $bin_num ) {
  fprintf( $fp, "\n");
  fprintf( $fp, "%b", $bin_num );
}

/* char type variations */
fprintf($fp, "\n*** Testing fprintf() for chars ***\n");
foreach( $char_variation as $char ) {
  fprintf( $fp, "\n");
  fprintf( $fp,"%c", $char );
}

/* %e type variations */
fprintf($fp, "\n*** Testing fprintf() for scientific type ***\n");
foreach( $int_numbers as $num ) {
  fprintf( $fp, "\n");
  fprintf( $fp, "%e", $num );
}

/* unsigned int type variation */
fprintf($fp, "\n*** Testing fprintf() for unsigned integers ***\n");
foreach( $int_numbers as $unsig_num ) {
  fprintf( $fp, "\n");
  fprintf( $fp, "%u", $unsig_num );
}

/* octal type variations */
fprintf($fp, "\n*** Testing fprintf() for octals ***\n");
foreach( $int_numbers as $octal_num ) {
 fprintf( $fp, "\n");
 fprintf( $fp, "%o", $octal_num );
}

/* hexadecimal type variations */
fprintf($fp, "\n*** Testing fprintf() for hexadecimals ***\n");
foreach( $int_numbers as $hexa_num ) {
 fprintf( $fp, "\n");
 fprintf( $fp, "%x", $hexa_num );
}

$counter = 1;
/* string type variations */
fprintf($fp, "\n*** Testing fprintf() for string types ***\n");
foreach( $string_variation as $string_var ) {
  fprintf( $fp, "\n-- Iteration %d --\n",$counter);
  foreach( $strings as $str ) {
    fprintf( $fp, "\n");
    fprintf( $fp, $string_var, $str );
  }
  $counter++;
}

print_r( file_get_contents("dump.txt") );
echo "\nDone";

fclose($fp);

?>
--EXPECTF--
*** Testing Error Conditions ***

Warning: Wrong parameter count for fprintf() in %s on line %d
NULL

Warning: Wrong parameter count for fprintf() in %s on line %d
NULL

Warning: Wrong parameter count for fprintf() in %s on line %d
NULL

*** Testing fprintf() with floats ***

-- Iteration 1 --

0.000000
1.000000
-1.000000
0.320000
-0.320000
3.400000
2.540000
-2.540000
-- Iteration 2 --

0.000000
1.000000
-1.000000
0.320000
-0.320000
3.400000
2.540000
-2.540000
-- Iteration 3 --

+0.000000
+1.000000
-1.000000
+0.320000
-0.320000
+3.400000
+2.540000
-2.540000
-- Iteration 4 --

   0.00
   1.00
  -1.00
   0.32
  -0.32
   3.40
   2.54
  -2.54
-- Iteration 5 --

0.00   
1.00   
-1.00  
0.32   
-0.32  
3.40   
2.54   
-2.54  
-- Iteration 6 --

0000.00
0001.00
-001.00
0000.32
-000.32
0003.40
0002.54
-002.54
-- Iteration 7 --

0.00000
1.00000
-1.0000
0.32000
-0.3200
3.40000
2.54000
-2.5400
-- Iteration 8 --

###0.00
###1.00
##-1.00
###0.32
##-0.32
###3.40
###2.54
##-2.54
*** Testing fprintf() with integers ***

-- Iteration 1 --

0
1
-1
2
-2
23333333
-23333333
1234
-- Iteration 2 --

0
1
-1
2
-2
23333333
-23333333
1234
-- Iteration 3 --

+0
+1
-1
+2
-2
+23333333
-23333333
+1234
-- Iteration 4 --

      0
      1
     -1
      2
     -2
23333333
-23333333
   1234
-- Iteration 5 --

0      
1      
-1     
2      
-2     
23333333
-23333333
1234   
-- Iteration 6 --

0000000
0000001
-000001
0000002
-000002
23333333
-23333333
0001234
-- Iteration 7 --

0      
1      
-1     
2      
-2     
23333333
-23333333
1234   
-- Iteration 8 --

######0
######1
#####-1
######2
#####-2
23333333
-23333333
###1234
*** Testing fprintf() with binary ***

0
1
11111111111111111111111111111111
10
11111111111111111111111111111110
1011001000000100111010101
11111110100110111111011000101011
10011010010
*** Testing fprintf() for chars ***



C
½
c
*** Testing fprintf() for scientific type ***

0.000000e+0
1.000000e+0
-1.000000e+0
2.700000e+0
-2.700000e+0
2.333333e+7
-2.333333e+7
1.234000e+3
*** Testing fprintf() for unsigned integers ***

0
1
4294967295
2
4294967294
23333333
4271633963
1234
*** Testing fprintf() for octals ***

0
1
37777777777
2
37777777776
131004725
37646773053
2322
*** Testing fprintf() for hexadecimals ***

0
1
ffffffff
2
fffffffe
16409d5
fe9bf62b
4d2
*** Testing fprintf() for string types ***

-- Iteration 1 --

     
  abc
  aaa
-- Iteration 2 --

     
abc  
aaa  
-- Iteration 3 --

00000
00abc
00aaa
-- Iteration 4 --

#####
##abc
##aaa
Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to