mirror of
https://github.com/php/php-src.git
synced 2024-09-24 03:17:26 +00:00
this testcase has been split into many smaller testcases and committed.
This commit is contained in:
parent
4cadbee716
commit
59558b73cb
@ -1,418 +0,0 @@
|
||||
--TEST--
|
||||
Test array_map() function
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: array array_map ( callback $callback, array $arr1 [, array $...] );
|
||||
Description: array_map() returns an array containing all the elements of arr1
|
||||
after applying the callback function to each one. The number of
|
||||
parameters that the callback function accepts should match the
|
||||
number of arrays passed to the array_map()
|
||||
*/
|
||||
|
||||
echo "*** Testing basic operations ***\n";
|
||||
/* array_map with null as function and different arrays */
|
||||
var_dump( array_map(NULL, array()) );
|
||||
var_dump( array_map(NULL, array(), array()) );
|
||||
var_dump( array_map(NULL, array(1,2,3), array(1,2,3)) );
|
||||
var_dump( array_map(NULL, array(1,2), array(1,2,3,4)) );
|
||||
var_dump( array_map(NULL, array("Jan", "Feb", "March"), array("31","28","31")) );
|
||||
var_dump( array_map(NULL, array("Text", "Words", "Lineup"), array(4, 5, 6)) );
|
||||
var_dump( array_map(NULL, array("a", "ab", "abc", "abcd"), array()) );
|
||||
var_dump( array_map(NULL,
|
||||
array("Jan"=>"01", "Feb"=>"02", "March"=>"03"),
|
||||
array("31"=>"Jan", "28"=>"Feb", "031"=>"March")
|
||||
)
|
||||
);
|
||||
|
||||
/* using key as "string" where no.of arguments passed to array_map() is 2 */
|
||||
var_dump( array_map( create_function('$n', 'return $n*$n;'),
|
||||
array("key1"=>1, "key2"=>2, "key3"=>3)
|
||||
)
|
||||
);
|
||||
|
||||
echo "\n*** Testing possible variations ***\n";
|
||||
/* anonymous callback function */
|
||||
var_dump( array_map( create_function('$a,$b', 'return $a+$b;'),
|
||||
array(1,2,3),
|
||||
array(5,6,7,8,9)
|
||||
)
|
||||
);
|
||||
|
||||
/* anonymous callback function with reference */
|
||||
var_dump( array_map( create_function('&$a, $b', 'return array($a,$b);'),
|
||||
array("Hello","Good"),
|
||||
array("World","Day")
|
||||
)
|
||||
);
|
||||
|
||||
/* callback function with reference */
|
||||
$a = array(1,2,3);
|
||||
function square(&$var) {
|
||||
return( $var * $var );
|
||||
}
|
||||
print_r( array_map('square', $a) );
|
||||
|
||||
/* array_map in recursion */
|
||||
function square_recur($var) {
|
||||
if (is_array($var))
|
||||
return array_map('square_recur', $var);
|
||||
return $var * $var;
|
||||
}
|
||||
$rec_array = array(1, 2, array(3, 4, array(5, 2), array() ) );
|
||||
var_dump( array_map('square_recur', $rec_array) );
|
||||
|
||||
/* callback function as string variable containing the function name */
|
||||
$string_var = "square";
|
||||
var_dump( array_map("square", $a) );
|
||||
var_dump( array_map($string_var, $a) );
|
||||
|
||||
echo "\n*** Testing error conditions ***\n";
|
||||
/* arguments of non array type */
|
||||
$int_var=10;
|
||||
$float_var = 10.5;
|
||||
var_dump( array_map('square', $int_var) );
|
||||
var_dump( array_map('square', $float_var) );
|
||||
var_dump( array_map('square', $string_var) );
|
||||
|
||||
/* Zero argument */
|
||||
var_dump( array_map() );
|
||||
|
||||
/* use array(), echo(), empty(), eval(), exit(), isset(), list(), print()
|
||||
and unset() as callback, failure expected */
|
||||
var_dump( array_map( 'echo', array(1) ) );
|
||||
var_dump( array_map( 'array', array(1) ) );
|
||||
var_dump( array_map( 'empty', array(1) ) );
|
||||
var_dump( array_map( 'eval', array(1) ) );
|
||||
var_dump( array_map( 'exit', array(1) ) );
|
||||
var_dump( array_map( 'isset', array(1) ) );
|
||||
var_dump( array_map( 'list', array(1) ) );
|
||||
var_dump( array_map( 'print', array(1) ) );
|
||||
|
||||
|
||||
echo "\n*** Testing operation on objects ***\n";
|
||||
/* array_map with class object */
|
||||
class check_array_map {
|
||||
public static function helloWorld() {
|
||||
return "Static_Function_helloWorld(): Hello World";
|
||||
}
|
||||
public function Message($v) {
|
||||
return $v;
|
||||
}
|
||||
|
||||
public static function Square( $n ) {
|
||||
return $n * $n;
|
||||
}
|
||||
}
|
||||
/* call static member function */
|
||||
var_dump( array_map( array('check_array_map', 'Square'), array(1,2,3)) );
|
||||
|
||||
/* call non static member function - warning should be issues*/
|
||||
var_dump( array_map( array('check_array_map', 'Message'), array(1)) );
|
||||
|
||||
/* call function using object */
|
||||
$obj = new check_array_map();
|
||||
var_dump( array_map( array($obj, 'helloWorld' ) ) ); // not enough args warning
|
||||
var_dump( array_map( array($obj, 'helloWorld'), array(1) ) );
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing basic operations ***
|
||||
array(0) {
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(1)
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(2)
|
||||
[1]=>
|
||||
int(2)
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(3)
|
||||
[1]=>
|
||||
int(3)
|
||||
}
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(1)
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(2)
|
||||
[1]=>
|
||||
int(2)
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
NULL
|
||||
[1]=>
|
||||
int(3)
|
||||
}
|
||||
[3]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
NULL
|
||||
[1]=>
|
||||
int(4)
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "Jan"
|
||||
[1]=>
|
||||
string(2) "31"
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "Feb"
|
||||
[1]=>
|
||||
string(2) "28"
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "March"
|
||||
[1]=>
|
||||
string(2) "31"
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(4) "Text"
|
||||
[1]=>
|
||||
int(4)
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "Words"
|
||||
[1]=>
|
||||
int(5)
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(6) "Lineup"
|
||||
[1]=>
|
||||
int(6)
|
||||
}
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
NULL
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(2) "ab"
|
||||
[1]=>
|
||||
NULL
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "abc"
|
||||
[1]=>
|
||||
NULL
|
||||
}
|
||||
[3]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(4) "abcd"
|
||||
[1]=>
|
||||
NULL
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(2) "01"
|
||||
[1]=>
|
||||
string(3) "Jan"
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(2) "02"
|
||||
[1]=>
|
||||
string(3) "Feb"
|
||||
}
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(2) "03"
|
||||
[1]=>
|
||||
string(5) "March"
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
["key1"]=>
|
||||
int(1)
|
||||
["key2"]=>
|
||||
int(4)
|
||||
["key3"]=>
|
||||
int(9)
|
||||
}
|
||||
|
||||
*** Testing possible variations ***
|
||||
array(5) {
|
||||
[0]=>
|
||||
int(6)
|
||||
[1]=>
|
||||
int(8)
|
||||
[2]=>
|
||||
int(10)
|
||||
[3]=>
|
||||
int(8)
|
||||
[4]=>
|
||||
int(9)
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "Hello"
|
||||
[1]=>
|
||||
string(5) "World"
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(4) "Good"
|
||||
[1]=>
|
||||
string(3) "Day"
|
||||
}
|
||||
}
|
||||
Array
|
||||
(
|
||||
[0] => 1
|
||||
[1] => 4
|
||||
[2] => 9
|
||||
)
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
array(4) {
|
||||
[0]=>
|
||||
int(9)
|
||||
[1]=>
|
||||
int(16)
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(25)
|
||||
[1]=>
|
||||
int(4)
|
||||
}
|
||||
[3]=>
|
||||
array(0) {
|
||||
}
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
int(9)
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
int(9)
|
||||
}
|
||||
|
||||
*** Testing error conditions ***
|
||||
|
||||
Warning: array_map(): Argument #2 should be an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map(): Argument #2 should be an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map(): Argument #2 should be an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects at least 2 parameters, 0 given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
|
||||
NULL
|
||||
|
||||
*** Testing operation on objects ***
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
int(9)
|
||||
}
|
||||
|
||||
Warning: array_map() expects parameter 1 to be valid callback, array given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_map() expects at least 2 parameters, 1 given in %s on line %d
|
||||
NULL
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(41) "Static_Function_helloWorld(): Hello World"
|
||||
}
|
||||
Done
|
Loading…
Reference in New Issue
Block a user