Skip to content

Commit d2d2bdb

Browse files
authored
Merge pull request #1194 from PHPCSStandards/feature/file-findextendedclass-add-extra-tests
File::findExtendedClassName(): add a few extra tests
2 parents 727a68a + c851756 commit d2d2bdb

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

tests/Core/Files/File/FindExtendedClassNameTest.inc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ class testFECNClassThatImplementsAndExtends implements InterfaceA, InterfaceB ex
4444
/* testInterfaceMultiExtends */
4545
interface Multi extends \Package\FooInterface, \BarInterface {};
4646

47+
/* testExtendedReadonlyAnonClass */
48+
$anon = new readonly class() extends \Fully\Qualified\MyClass {};
49+
50+
/* testExtendedAnonClassWithAttributes */
51+
$anon = new #[SomeAttribute] class( $p ) extends Partially\Qualified\MyClass {};
52+
4753
/* testMissingExtendsName */
4854
class testMissingExtendsName extends { /* missing classname */ } // Intentional parse error.
4955

tests/Core/Files/File/FindExtendedClassNameTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,14 @@ public static function dataExtendedClass()
129129
'identifier' => '/* testInterfaceMultiExtends */',
130130
'expected' => '\Package\FooInterface',
131131
],
132+
'readonly anon class extends fully qualified class' => [
133+
'identifier' => '/* testExtendedReadonlyAnonClass */',
134+
'expected' => '\Fully\Qualified\MyClass',
135+
],
136+
'anon class with attribute extends partially qualified class' => [
137+
'identifier' => '/* testExtendedAnonClassWithAttributes */',
138+
'expected' => 'Partially\Qualified\MyClass',
139+
],
132140
'parse error - extends keyword, but no class name' => [
133141
'identifier' => '/* testMissingExtendsName */',
134142
'expected' => false,

0 commit comments

Comments
 (0)