Skip to content

Commit 4a6ccea

Browse files
committed
Fix tests
1 parent 60dd996 commit 4a6ccea

4 files changed

Lines changed: 36 additions & 36 deletions

File tree

tests/PHPStan/Levels/data/acceptTypes-5.json

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,22 +65,22 @@
6565
"ignorable": true
6666
},
6767
{
68-
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooInterface given.",
68+
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooImpl given.",
6969
"line": 226,
7070
"ignorable": true
7171
},
7272
{
73-
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooInterface given.",
73+
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooImpl given.",
7474
"line": 227,
7575
"ignorable": true
7676
},
7777
{
78-
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooInterface given.",
78+
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooImpl given.",
7979
"line": 238,
8080
"ignorable": true
8181
},
8282
{
83-
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooInterface given.",
83+
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooImpl given.",
8484
"line": 239,
8585
"ignorable": true
8686
},
@@ -94,26 +94,6 @@
9494
"line": 251,
9595
"ignorable": true
9696
},
97-
{
98-
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooInterface given.",
99-
"line": 283,
100-
"ignorable": true
101-
},
102-
{
103-
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooInterface given.",
104-
"line": 284,
105-
"ignorable": true
106-
},
107-
{
108-
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooInterface given.",
109-
"line": 301,
110-
"ignorable": true
111-
},
112-
{
113-
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooInterface given.",
114-
"line": 302,
115-
"ignorable": true
116-
},
11797
{
11898
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, Closure(Levels\\AcceptTypes\\FooInterface): Levels\\AcceptTypes\\ParentFooInterface given.",
11999
"line": 319,

tests/PHPStan/Levels/data/acceptTypes-7.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,26 @@
3939
"line": 167,
4040
"ignorable": true
4141
},
42+
{
43+
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, (Closure(): Levels\\AcceptTypes\\FooInterface)|(Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooImpl) given.",
44+
"line": 283,
45+
"ignorable": true
46+
},
47+
{
48+
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, (Closure(): Levels\\AcceptTypes\\FooInterface)|(Closure(Levels\\AcceptTypes\\FooInterface, mixed, mixed): Levels\\AcceptTypes\\FooImpl) given.",
49+
"line": 284,
50+
"ignorable": true
51+
},
52+
{
53+
"message": "Parameter #1 $closure of method Levels\\AcceptTypes\\ClosureAccepts::doBar() expects Closure(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, (Closure(): Levels\\AcceptTypes\\FooInterface)|(Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooImpl) given.",
54+
"line": 301,
55+
"ignorable": true
56+
},
57+
{
58+
"message": "Parameter #1 $callable of method Levels\\AcceptTypes\\ClosureAccepts::doBaz() expects callable(Levels\\AcceptTypes\\FooInterface, int): Levels\\AcceptTypes\\FooInterface, (Closure(): Levels\\AcceptTypes\\FooInterface)|(Closure(Levels\\AcceptTypes\\FooImpl): Levels\\AcceptTypes\\FooImpl) given.",
59+
"line": 302,
60+
"ignorable": true
61+
},
4262
{
4363
"message": "Parameter #1 $i of method Levels\\AcceptTypes\\Baz::doBar() expects int, float|int given.",
4464
"line": 415,

tests/PHPStan/Levels/data/acceptTypes.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ class FooImpl implements FooInterface
205205
class ClosureAccepts
206206
{
207207

208-
public function doFoo()
208+
public function doFoo(ParentFooInterface $parent)
209209
{
210210
$c = function (FooInterface $x, $y): FooInterface {
211211
return new FooImpl();
@@ -244,17 +244,17 @@ public function doFoo()
244244
$this->doBar($c);
245245
$this->doBaz($c);
246246

247-
$c = function (FooInterface $x): ParentFooInterface { // return type contravariance - error
248-
return new FooImpl();
247+
$c = function (FooInterface $x) use ($parent): ParentFooInterface { // return type contravariance - error
248+
return $parent;
249249
};
250250
$this->doBar($c);
251251
$this->doBaz($c);
252252
}
253253

254-
public function doFooUnionClosures()
254+
public function doFooUnionClosures(FooInterface $foo, ParentFooInterface $parent)
255255
{
256-
$closure = function (): FooInterface {
257-
return new FooImpl();
256+
$closure = function () use ($foo): FooInterface {
257+
return $foo;
258258
};
259259
$c = function (FooInterface $x, $y): FooInterface {
260260
return new FooImpl();
@@ -310,17 +310,17 @@ public function doFooUnionClosures()
310310
$this->doBar($c);
311311
$this->doBaz($c);
312312

313-
$c = function (FooInterface $x): ParentFooInterface { // return type contravariance - error
314-
return new FooImpl();
313+
$c = function (FooInterface $x) use ($parent): ParentFooInterface { // return type contravariance - error
314+
return $parent;
315315
};
316316
if (rand(0, 1) === 0) {
317317
$c = $closure;
318318
}
319319
$this->doBar($c);
320320
$this->doBaz($c);
321321

322-
$c = function () {
323-
322+
$c = function ($mixed) {
323+
return $mixed;
324324
};
325325
$this->doBar($c);
326326
$this->doBaz($c);

tests/PHPStan/Levels/data/callableCalls-8.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[
22
{
3-
"message": "Trying to invoke (Closure(int): mixed)|null but it might not be a callable.",
3+
"message": "Trying to invoke (Closure(int): void)|null but it might not be a callable.",
44
"line": 37,
55
"ignorable": true
66
},
77
{
8-
"message": "Trying to invoke (Closure(int): mixed)|null but it might not be a callable.",
8+
"message": "Trying to invoke (Closure(int): void)|null but it might not be a callable.",
99
"line": 38,
1010
"ignorable": true
1111
},

0 commit comments

Comments
 (0)