summaryrefslogtreecommitdiff
path: root/Zend/tests/closure_042.phpt
blob: 7ab49d562d1123ef9b6cbc32cef2b8122ef2f304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--TEST--
Closure 042: Binding an instance to a non-scoped non-static closures gives it a dummy scope
--SKIPIF--
<?php if(!extension_loaded("reflection")) print "skip no reflection"; ?>
--FILE--
<?php

$c = function() { var_dump($this); };
$d = $c->bindTo(new stdClass);
$d();
$rm = new ReflectionFunction($d);
var_dump($rm->getClosureScopeClass()->name); //dummy sope is Closure

//should have the same effect
$d = $c->bindTo(new stdClass, NULL);
$d();
$rm = new ReflectionFunction($d);
var_dump($rm->getClosureScopeClass()->name); //dummy sope is Closure

echo "Done.\n";
--EXPECTF--
object(stdClass)#%d (0) {
}
string(7) "Closure"
object(stdClass)#%d (0) {
}
string(7) "Closure"
Done.