]> granicus.if.org Git - php/commitdiff
array_column: Improved tests
authorBen Ramsey <ramsey@php.net>
Sat, 14 Apr 2012 16:19:55 +0000 (11:19 -0500)
committerBen Ramsey <ramsey@php.net>
Fri, 11 Jan 2013 20:16:19 +0000 (14:16 -0600)
ext/standard/tests/array/array_column_basic.phpt [moved from ext/standard/tests/array/array_column.phpt with 94% similarity]
ext/standard/tests/array/array_column_error.phpt [new file with mode: 0644]

similarity index 94%
rename from ext/standard/tests/array/array_column.phpt
rename to ext/standard/tests/array/array_column_basic.phpt
index a7a1b450528f526981789bcecb8a0a50d1484ef6..efa98cef96e71be9f40fa0397aa2a64ce3287034 100644 (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]=>
diff --git a/ext/standard/tests/array/array_column_error.phpt b/ext/standard/tests/array/array_column_error.phpt
new file mode 100644 (file)
index 0000000..d409d3b
--- /dev/null
@@ -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