summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Ramsey <ramsey@php.net>2012-04-14 11:19:55 -0500
committerBen Ramsey <ramsey@php.net>2013-01-11 14:16:19 -0600
commit5f6b20a44d833ede5e47b3b09c98678522347de1 (patch)
treed7e2a8f06b7dea6ca1501405b436a47a3ccad214
parente921d28ae31e77965800c29454c4d426650126f0 (diff)
downloadphp-git-5f6b20a44d833ede5e47b3b09c98678522347de1.tar.gz
array_column: Improved tests
-rw-r--r--ext/standard/tests/array/array_column_basic.phpt (renamed from ext/standard/tests/array/array_column.phpt)6
-rw-r--r--ext/standard/tests/array/array_column_error.phpt82
2 files changed, 85 insertions, 3 deletions
diff --git a/ext/standard/tests/array/array_column.phpt b/ext/standard/tests/array/array_column_basic.phpt
index a7a1b45052..efa98cef96 100644
--- a/ext/standard/tests/array/array_column.phpt
+++ b/ext/standard/tests/array/array_column_basic.phpt
@@ -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]=>
diff --git a/ext/standard/tests/array/array_column_error.phpt b/ext/standard/tests/array/array_column_error.phpt
new file mode 100644
index 0000000000..d409d3b12e
--- /dev/null
+++ b/ext/standard/tests/array/array_column_error.phpt
@@ -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