Annotation of embedaddon/php/Zend/tests/closure_040.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Closure 040: Rebinding closures, bad arguments
3: --FILE--
4: <?php
5:
6: class A {
7: private $x;
8: private static $xs = 10;
9:
10: public function __construct($v) {
11: $this->x = $v;
12: }
13:
14: public function getIncrementor() {
15: return function() { return ++$this->x; };
16: }
17: public function getStaticIncrementor() {
18: return static function() { return ++static::$xs; };
19: }
20: }
21:
22: $a = new A(20);
23:
24: $ca = $a->getIncrementor();
25: $cas = $a->getStaticIncrementor();
26:
27: $ca->bindTo($a, array());
28: $ca->bindTo(array(), 'A');
29: $ca->bindTo($a, array(), "");
30: $ca->bindTo();
31: $cas->bindTo($a, 'A');
32:
33: ?>
34: --EXPECTF--
35: Notice: Array to string conversion in %s on line %d
36:
37: Warning: Class 'Array' not found in %s on line %d
38:
39: Warning: Closure::bindTo() expects parameter 1 to be object, array given in %s on line 25
40:
41: Warning: Closure::bindTo() expects at most 2 parameters, 3 given in %s on line %d
42:
43: Warning: Closure::bindTo() expects at least 1 parameter, 0 given in %s on line %d
44:
45: Warning: Cannot bind an instance to a static closure in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>