summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2005-11-15 21:33:10 +0000
committerMarcus Boerger <helly@php.net>2005-11-15 21:33:10 +0000
commitc95360658fcf92a388cac3c7c20a48a488a2c791 (patch)
treef80ea46a920fd91c51f56219982630f8ee59312a
parentf8781c168e5910dbdcb2abf66fda40faecad88e6 (diff)
downloadphp-git-c95360658fcf92a388cac3c7c20a48a488a2c791.tar.gz
- MFH Add new test
-rwxr-xr-xtests/classes/type_hinting_003.phpt60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/classes/type_hinting_003.phpt b/tests/classes/type_hinting_003.phpt
new file mode 100755
index 0000000000..4a83dd4197
--- /dev/null
+++ b/tests/classes/type_hinting_003.phpt
@@ -0,0 +1,60 @@
+--TEST--
+ZE2 class type hinting with arrays
+--FILE--
+<?php
+
+class Test
+{
+ static function f1(array $ar)
+ {
+ echo __METHOD__ . "()\n";
+ var_dump($ar);
+ }
+
+ static function f2(array $ar = NULL)
+ {
+ echo __METHOD__ . "()\n";
+ var_dump($ar);
+ }
+
+ static function f3(array $ar = array())
+ {
+ echo __METHOD__ . "()\n";
+ var_dump($ar);
+ }
+
+ static function f4(array $ar = array(25))
+ {
+ echo __METHOD__ . "()\n";
+ var_dump($ar);
+ }
+}
+
+Test::f1(array(42));
+Test::f2(NULL);
+Test::f2();
+Test::f3();
+Test::f4();
+Test::f1(1);
+
+?>
+--EXPECTF--
+Test::f1()
+array(1) {
+ [0]=>
+ int(42)
+}
+Test::f2()
+NULL
+Test::f2()
+NULL
+Test::f3()
+array(0) {
+}
+Test::f4()
+array(1) {
+ [0]=>
+ int(25)
+}
+
+Fatal error: Argument 1 passed to Test::f1() must be an array, called in %stype_hinting_003.php on line %d and defined in %stype_hinting_003.php on line %d