]> granicus.if.org Git - php/commitdiff
- MFH Add new test
authorMarcus Boerger <helly@php.net>
Tue, 15 Nov 2005 21:33:10 +0000 (21:33 +0000)
committerMarcus Boerger <helly@php.net>
Tue, 15 Nov 2005 21:33:10 +0000 (21:33 +0000)
tests/classes/type_hinting_003.phpt [new file with mode: 0755]

diff --git a/tests/classes/type_hinting_003.phpt b/tests/classes/type_hinting_003.phpt
new file mode 100755 (executable)
index 0000000..4a83dd4
--- /dev/null
@@ -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