]> granicus.if.org Git - php/commitdiff
- New tests for compact()
authorRobert Nicholson <nicholsr@php.net>
Thu, 24 Jan 2008 14:52:38 +0000 (14:52 +0000)
committerRobert Nicholson <nicholsr@php.net>
Thu, 24 Jan 2008 14:52:38 +0000 (14:52 +0000)
ext/standard/tests/array/compact_basic.phpt [new file with mode: 0644]
ext/standard/tests/array/compact_error.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/array/compact_basic.phpt b/ext/standard/tests/array/compact_basic.phpt
new file mode 100644 (file)
index 0000000..53a946e
--- /dev/null
@@ -0,0 +1,85 @@
+--TEST--
+Test compact() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : proto array compact(mixed var_names [, mixed ...])
+ * Description: Creates a hash containing variables and their values 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+/*
+ * Test basic functionality
+ */
+
+echo "*** Testing compact() : basic functionality ***\n";
+
+$a=1;
+$b=0.2;
+$c=true;
+$d=array("key"=>"val");
+$e=NULL;
+$f="string";
+
+// simple array test
+var_dump (compact(array("a", "b", "c", "d", "e", "f")));
+// simple parameter test
+var_dump (compact("a", "b", "c", "d", "e", "f"));
+var_dump (compact(array("keyval"=>"a", "b"=>"b", "c"=>1)));
+
+// cases which should not yield any output.
+var_dump (compact(array(10, 0.3, true, array(20), NULL)));
+var_dump (compact(10, 0.3, true, array(20), NULL));
+var_dump (compact(array("g")));
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing compact() : basic functionality ***
+array(6) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  float(0.2)
+  ["c"]=>
+  bool(true)
+  ["d"]=>
+  array(1) {
+    ["key"]=>
+    string(3) "val"
+  }
+  ["e"]=>
+  NULL
+  ["f"]=>
+  string(6) "string"
+}
+array(6) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  float(0.2)
+  ["c"]=>
+  bool(true)
+  ["d"]=>
+  array(1) {
+    ["key"]=>
+    string(3) "val"
+  }
+  ["e"]=>
+  NULL
+  ["f"]=>
+  string(6) "string"
+}
+array(2) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  float(0.2)
+}
+array(0) {
+}
+array(0) {
+}
+array(0) {
+}
+Done
\ No newline at end of file
diff --git a/ext/standard/tests/array/compact_error.phpt b/ext/standard/tests/array/compact_error.phpt
new file mode 100644 (file)
index 0000000..d3d6e2c
--- /dev/null
@@ -0,0 +1,31 @@
+--TEST--
+Test compact() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : proto array compact(mixed var_names [, mixed ...])
+ * Description: Creates a hash containing variables and their values 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+/*
+ * Error -tests test compact with zero arguments.
+ */
+
+echo "*** Testing compact() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing compact() function with Zero arguments --\n";
+var_dump( compact() );
+
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing compact() : error conditions ***
+
+-- Testing compact() function with Zero arguments --
+
+Warning: Wrong parameter count for compact() in %s on line %d
+NULL
+Done