Skip to content

Commit 96ca7fa

Browse files
committed
Split closures_005.phpt test
1 parent 43dc616 commit 96ca7fa

File tree

2 files changed

+58
-49
lines changed

2 files changed

+58
-49
lines changed

ext/reflection/tests/closures_005.phpt

Lines changed: 12 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,27 @@
22
Test closure isStatic
33
--FILE--
44
<?php
5+
class Foo {
6+
public static function bar(){}
7+
public function baz() {}
58

6-
namespace {
7-
class Foo {
8-
public static function bar(){}
9-
public function baz() {}
10-
11-
public function qux() {
12-
return static function(){};
13-
}
9+
public function qux() {
10+
return static function(){};
1411
}
15-
16-
$foo = new Foo;
17-
18-
var_dump(
19-
(new ReflectionFunction(function(){}))->isStatic(),
20-
(new ReflectionFunction(static function(){}))->isStatic(),
21-
(new ReflectionFunction($foo->qux()))->isStatic(),
22-
(new ReflectionMethod($foo, 'bar'))->isStatic(),
23-
(new ReflectionMethod($foo, 'baz'))->isStatic(),
24-
25-
// Static closure inference exceptions
26-
(new ReflectionFunction(function () { $$var; }))->isStatic(),
27-
(new ReflectionFunction(function () { $var(); }))->isStatic(),
28-
(new ReflectionFunction(function () { call_user_func('Foo::bar'); }))->isStatic(),
29-
(new ReflectionFunction(function () { ('Foo::bar')(); }))->isStatic(),
30-
(new ReflectionFunction(function () { Foo::bar(); }))->isStatic(),
31-
(new ReflectionFunction(function () { $this; }))->isStatic(),
32-
(new ReflectionFunction(function () { function () { $this; }; }))->isStatic(),
33-
(new ReflectionFunction(function () { function () { require $var; }; }))->isStatic(),
34-
(new ReflectionFunction(function () { function () { eval('Foo::bar();'); }; }))->isStatic(),
35-
);
3612
}
3713

38-
namespace Foo {
39-
var_dump(
40-
// Static closure inference exceptions
41-
(new \ReflectionFunction(function () { call_user_func('Foo::bar'); }))->isStatic(),
42-
(new \ReflectionFunction(function () { ('Foo::bar')(); }))->isStatic(),
43-
(new \ReflectionFunction(function () { Foo::bar(); }))->isStatic(),
44-
);
45-
}
14+
$foo = new Foo;
4615

16+
var_dump(
17+
(new ReflectionFunction(function(){}))->isStatic(),
18+
(new ReflectionFunction(static function(){}))->isStatic(),
19+
(new ReflectionFunction($foo->qux()))->isStatic(),
20+
(new ReflectionMethod($foo, 'bar'))->isStatic(),
21+
(new ReflectionMethod($foo, 'baz'))->isStatic(),);
4722
?>
4823
--EXPECT--
4924
bool(true)
5025
bool(true)
5126
bool(true)
5227
bool(true)
5328
bool(false)
54-
bool(false)
55-
bool(false)
56-
bool(false)
57-
bool(false)
58-
bool(false)
59-
bool(false)
60-
bool(false)
61-
bool(false)
62-
bool(false)
63-
bool(false)
64-
bool(false)
65-
bool(false)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
--TEST--
2+
Test closure static inference
3+
--FILE--
4+
<?php
5+
6+
namespace {
7+
class Foo {
8+
public static function bar(){}
9+
}
10+
11+
var_dump(
12+
(new ReflectionFunction(function () { $$var; }))->isStatic(),
13+
(new ReflectionFunction(function () { $var(); }))->isStatic(),
14+
(new ReflectionFunction(function () { call_user_func('Foo::bar'); }))->isStatic(),
15+
(new ReflectionFunction(function () { ('Foo::bar')(); }))->isStatic(),
16+
(new ReflectionFunction(function () { Foo::bar(); }))->isStatic(),
17+
(new ReflectionFunction(function () { $this; }))->isStatic(),
18+
(new ReflectionFunction(function () { function () { $this; }; }))->isStatic(),
19+
(new ReflectionFunction(function () { function () { require $var; }; }))->isStatic(),
20+
(new ReflectionFunction(function () { function () { eval('Foo::bar();'); }; }))->isStatic(),
21+
);
22+
}
23+
24+
namespace Foo {
25+
var_dump(
26+
// Static closure inference exceptions
27+
(new \ReflectionFunction(function () { call_user_func('Foo::bar'); }))->isStatic(),
28+
(new \ReflectionFunction(function () { ('Foo::bar')(); }))->isStatic(),
29+
(new \ReflectionFunction(function () { Foo::bar(); }))->isStatic(),
30+
);
31+
}
32+
33+
?>
34+
--EXPECT--
35+
bool(false)
36+
bool(false)
37+
bool(false)
38+
bool(false)
39+
bool(false)
40+
bool(false)
41+
bool(false)
42+
bool(false)
43+
bool(false)
44+
bool(false)
45+
bool(false)
46+
bool(false)

0 commit comments

Comments
 (0)