Skip to content

Commit ccd0d07

Browse files
committed
support yield from
1 parent bcc2219 commit ccd0d07

File tree

3 files changed

+39
-4
lines changed

3 files changed

+39
-4
lines changed

src/Rules/PHPUnit/DataProviderDataRule.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function getNodeType(): string
3636

3737
public function processNode(Node $node, Scope $scope): array
3838
{
39-
if ($node instanceof Node\Stmt\Return_) {
39+
if ($node instanceof Node\Stmt\Return_ || $node instanceof Node\Expr\YieldFrom) {
4040
if (!$node->expr instanceof Node\Expr\Array_) {
4141
return [];
4242
}

tests/Rules/PHPUnit/DataProviderDataRuleTest.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,21 @@ public function testRule(): void
5757
54,
5858
],
5959
[
60-
'Parameter #2 $input of method DataProviderDataTest\YieldingTest::testYield() expects string, int given.',
60+
'Parameter #2 $input of method DataProviderDataTest\YieldTest::testYield() expects string, int given.',
6161
79,
6262
],
6363
[
64-
'Parameter #2 $input of method DataProviderDataTest\YieldingTest::testYield() expects string, false given.',
64+
'Parameter #2 $input of method DataProviderDataTest\YieldTest::testYield() expects string, false given.',
6565
85,
6666
],
67+
[
68+
'Parameter #2 $input of method DataProviderDataTest\YieldFromTest::testYieldFrom() expects string, int given.',
69+
107,
70+
],
71+
[
72+
'Parameter #2 $input of method DataProviderDataTest\YieldFromTest::testYieldFrom() expects string, false given.',
73+
111,
74+
],
6775
]);
6876
}
6977

tests/Rules/PHPUnit/data/data-provider-data.php

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public function aProvider(): array
5959
}
6060
}
6161

62-
class YieldingTest extends TestCase
62+
class YieldTest extends TestCase
6363
{
6464

6565
/** @dataProvider yieldProvider */
@@ -89,3 +89,30 @@ public function yieldProvider(): iterable
8989
}
9090
}
9191

92+
class YieldFromTest extends TestCase
93+
{
94+
95+
/** @dataProvider yieldProvider */
96+
public function testYieldFrom(string $expectedResult, string $input): void
97+
{
98+
}
99+
100+
public function yieldProvider(): iterable
101+
{
102+
yield from [
103+
[
104+
'Hello World',
105+
" Hello World \n",
106+
],
107+
[
108+
'Hello World',
109+
123,
110+
],
111+
[
112+
'Hello World',
113+
false,
114+
]
115+
];
116+
}
117+
}
118+

0 commit comments

Comments
 (0)