8000 [Routing] Remove variadic constructor signature · symfony/symfony@6d908cd · GitHub
[go: up one dir, main page]

Skip to content

Commit 6d908cd

Browse files
committed
[Routing] Remove variadic constructor signature
1 parent 6bc0882 commit 6d908cd

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/Symfony/Component/Routing/Requirement/EnumRequirement.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@ final class EnumRequirement implements \Stringable
2222

2323
/**
2424
* @template T of \BackedEnum
25+
*
2526
* @param class-string<T> $enum
26-
* @param T ...$cases
27+
* @param list<T> $cases
2728
*/
28-
public function __construct(string $enum, \BackedEnum ...$cases)
29+
public function __construct(string $enum, array $cases = [])
2930
{
30-
if (!\is_subclass_of($enum, \BackedEnum::class, true)) {
31+
if (!is_subclass_of($enum, \BackedEnum::class, true)) {
3132
throw new InvalidArgumentException(sprintf('"%s" is not a \BackedEnum class.', $enum));
3233
}
3334

src/Symfony/Component/Routing/Tests/Requirement/EnumRequirementTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,23 @@ public function testCaseFromAnotherEnum()
3535
$this->expectException(InvalidArgumentException::class);
3636
$this->expectExceptionMessage('"Symfony\Component\Routing\Tests\Fixtures\Enum\TestStringBackedEnum2::Spades" is not a case of "Symfony\Component\Routing\Tests\Fixtures\Enum\TestStringBackedEnum".');
3737

38-
new EnumRequirement(TestStringBackedEnum::class, TestStringBackedEnum::Diamonds, TestStringBackedEnum2::Spades);
38+
new EnumRequirement(TestStringBackedEnum::class, [TestStringBackedEnum::Diamonds, TestStringBackedEnum2::Spades]);
3939
}
4040

4141
/**
4242
* @dataProvider provideToString
4343
*/
44-
public function testToString(string $expected, string $enum, \BackedEnum ...$cases)
44+
public function testToString(string $expected, string $enum, array $cases = [])
4545
{
46-
$this->assertSame($expected, (string) new EnumRequirement($enum, ...$cases));
46+
$this->assertSame($expected, (string) new EnumRequirement($enum, $cases));
4747
}
4848

4949
public function provideToString()
5050
{
5151
return [
5252
['hearts|diamonds|clubs|spades', TestStringBackedEnum::class],
5353
['10|20|30|40', TestIntBackedEnum::class],
54-
['diamonds|spades', TestStringBackedEnum::class, TestStringBackedEnum::Diamonds, TestStringBackedEnum::Spades],
54+
['diamonds|spades', TestStringBackedEnum::class, [TestStringBackedEnum::Diamonds, TestStringBackedEnum::Spades]],
5555
['hearts|diamonds|clubs|spa\|des', TestStringBackedEnum2::class],
5656
];
5757
}

0 commit comments

Comments
 (0)
0