summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/extract_error.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/extract_error.phpt')
-rw-r--r--ext/standard/tests/array/extract_error.phpt57
1 files changed, 57 insertions, 0 deletions
diff --git a/ext/standard/tests/array/extract_error.phpt b/ext/standard/tests/array/extract_error.phpt
new file mode 100644
index 000000000..cb8aba215
--- /dev/null
+++ b/ext/standard/tests/array/extract_error.phpt
@@ -0,0 +1,57 @@
+--TEST--
+Test extract() function (error conditions)
+--FILE--
+<?php
+
+/* Testing Error Conditions */
+echo "*** Testing Error Conditions ***\n";
+
+/* Zero Arguments */
+var_dump( extract() );
+
+/* Invalid second argument ( only 0-6 is valid) */
+$arr = array(1);
+var_dump( extract($arr, -1 . "wddr") );
+var_dump( extract($arr, 7 , "wddr") );
+
+/* scalar argument */
+$val = 1;
+var_dump( extract($val) );
+
+/* string argument */
+$str = "test";
+var_dump( extract($str) );
+
+/* More than valid number of arguments i.e. 3 args */
+var_dump( extract($arr, EXTR_SKIP, "aa", "ee") );
+
+/* Two Arguments, second as prefix but without prefix string as third argument */
+var_dump( extract($arr,EXTR_PREFIX_IF_EXISTS) );
+
+echo "Done\n";
+?>
+
+--EXPECTF--
+*** Testing Error Conditions ***
+
+Warning: Wrong parameter count for extract() in %s on line %d
+NULL
+
+Warning: extract(): Unknown extract type in %s on line %d
+NULL
+
+Warning: extract(): Unknown extract type in %s on line %d
+NULL
+
+Warning: extract(): First argument should be an array in %s on line %d
+NULL
+
+Warning: extract(): First argument should be an array in %s on line %d
+NULL
+
+Warning: Wrong parameter count for extract() in %s on line %d
+NULL
+
+Warning: extract(): Prefix expected to be specified in %s on line %d
+NULL
+Done