array_column: Improved tests

This commit is contained in:
Ben Ramsey 2012-04-14 11:19:55 -05:00
parent e921d28ae3
commit 5f6b20a44d
2 changed files with 85 additions and 3 deletions

View File

@ -1,5 +1,5 @@
--TEST--
Test array_column() function
Test array_column() function: basic functionality
--FILE--
<?php
/* Prototype:
@ -9,7 +9,7 @@ Test array_column() function
* the specified "column" in a two-dimensional array.
*/
echo "*** Testing basic functionalities ***\n";
echo "*** Testing array_column() : basic functionality ***\n";
/* Array representing a possible record set returned from a database */
$records = array(
array(
@ -100,7 +100,7 @@ var_dump(array_column($mismatchedColumns, 'c'));
echo "Done\n";
?>
--EXPECTF--
*** Testing basic functionalities ***
*** Testing array_column() : basic functionality ***
-- first_name column from recordset --
array(3) {
[0]=>

View File

@ -0,0 +1,82 @@
--TEST--
Test array_column() function: error conditions
--FILE--
<?php
/* Prototype:
* array array_column(array $input, mixed $key);
* Description:
* Returns an array containing all the values from
* the specified "column" in a two-dimensional array.
*/
echo "*** Testing array_column() : error conditions ***\n";
echo "\n-- Testing array_column() function with Zero arguments --\n";
var_dump(array_column());
echo "\n-- Testing array_column() function with One argument --\n";
var_dump(array_column(array()));
echo "\n-- Testing array_column() function with more than expected no. of arguments --\n";
var_dump(array_column(array(), 'foo', 'bar'));
echo "\n-- Testing array_column() function with string as first parameter --\n";
var_dump(array_column('foo', 0));
echo "\n-- Testing array_column() function with int as first parameter --\n";
var_dump(array_column(1, 'foo'));
echo "\n-- Testing array_column() key parameter should be a string or an integer (testing bool) --\n";
var_dump(array_column(array(), true));
echo "\n-- Testing array_column() key parameter should be a string or integer (testing float) --\n";
var_dump(array_column(array(), 2.3));
echo "\n-- Testing array_column() key parameter should be a string or integer (testing array) --\n";
var_dump(array_column(array(), array()));
echo "Done\n";
?>
--EXPECTF--
*** Testing array_column() : error conditions ***
-- Testing array_column() function with Zero arguments --
Warning: array_column() expects exactly 2 parameters, 0 given in %s on line %d
NULL
-- Testing array_column() function with One argument --
Warning: array_column() expects exactly 2 parameters, 1 given in %s on line %d
NULL
-- Testing array_column() function with more than expected no. of arguments --
Warning: array_column() expects exactly 2 parameters, 3 given in %s on line %d
NULL
-- Testing array_column() function with string as first parameter --
Warning: array_column() expects parameter 1 to be array, string given in %s on line %d
NULL
-- Testing array_column() function with int as first parameter --
Warning: array_column() expects parameter 1 to be array, integer given in %s on line %d
NULL
-- Testing array_column() key parameter should be a string or an integer (testing bool) --
Warning: array_column(): The key should be either a string or an integer in %s on line %d
bool(false)
-- Testing array_column() key parameter should be a string or integer (testing float) --
Warning: array_column(): The key should be either a string or an integer in %s on line %d
bool(false)
-- Testing array_column() key parameter should be a string or integer (testing array) --
Warning: array_column(): The key should be either a string or an integer in %s on line %d
bool(false)
Done