File tree Expand file tree Collapse file tree 3 files changed +27
-2
lines changed
Expand file tree Collapse file tree 3 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -93,7 +93,10 @@ public function renderFile(PhpFile $file): array
9393 foreach ($ classes as $ identifier ) {
9494 /** @var PhpTrait|PhpClass|PhpInterface $class */
9595 $ class = $ classes [$ identifier ];
96- if ($ class instanceof PhpInterface) {
96+ if ($ class instanceof PhpEnum) {
97+ $ source = $ this ->renderEnum ($ class );
98+ }
99+ elseif ($ class instanceof PhpInterface) {
97100 $ source = $ this ->renderInterface ($ class );
98101 }
99102 elseif ($ class instanceof PhpClass) {
Original file line number Diff line number Diff line change 55use PHPUnit \Framework \Attributes \DataProvider ;
66use PHPUnit \Framework \TestCase ;
77use Stefna \PhpCodeBuilder \PhpEnum ;
8+ use Stefna \PhpCodeBuilder \PhpFile ;
89use Stefna \PhpCodeBuilder \Renderer \Php74Renderer ;
9- use Stefna \PhpCodeBuilder \Renderer \Php7Renderer ;
1010use Stefna \PhpCodeBuilder \Renderer \Php81Renderer ;
1111use Stefna \PhpCodeBuilder \ValueObject \EnumBackedCase ;
1212use Stefna \PhpCodeBuilder \ValueObject \EnumCase ;
@@ -61,4 +61,19 @@ public static function enumTypes(): array
6161 ],
6262 ];
6363 }
64+
65+ public function testRenderEnumInFile (): void
66+ {
67+ $ renderer = new Php81Renderer ();
68+ $ enum = new PhpEnum (
69+ 'Test ' ,
70+ cases: [
71+ new EnumCase ('Up ' ),
72+ new EnumCase ('Down ' ),
73+ ],
74+ );
75+ $ file = PhpFile::createFromClass ($ enum );
76+
77+ $ this ->assertSourceResult ($ renderer ->render ($ file ), 'PhpEnumTest. ' . __FUNCTION__ );
78+ }
6479}
Original file line number Diff line number Diff line change 1+ <?php declare(strict_types=1);
2+
3+ enum Test
4+ {
5+ case Up;
6+ case Down;
7+ }
You can’t perform that action at this time.
0 commit comments