|
8 | 8 | use Stefna\PhpCodeBuilder\PhpFile; |
9 | 9 | use Stefna\PhpCodeBuilder\Renderer\Php74Renderer; |
10 | 10 | use Stefna\PhpCodeBuilder\Renderer\Php81Renderer; |
| 11 | +use Stefna\PhpCodeBuilder\Renderer\Php8Renderer; |
11 | 12 | use Stefna\PhpCodeBuilder\ValueObject\EnumBackedCase; |
12 | 13 | use Stefna\PhpCodeBuilder\ValueObject\EnumCase; |
13 | 14 | use Stefna\PhpCodeBuilder\ValueObject\Type; |
@@ -76,4 +77,36 @@ public function testRenderEnumInFile(): void |
76 | 77 |
|
77 | 78 | $this->assertSourceResult($renderer->render($file), 'PhpEnumTest.' . __FUNCTION__); |
78 | 79 | } |
| 80 | + |
| 81 | + public function testCaseWithSpecialCharacters(): void |
| 82 | + { |
| 83 | + $renderer = new Php8Renderer(); |
| 84 | + $enum = new PhpEnum( |
| 85 | + 'Test', |
| 86 | + Type::fromString('string'), |
| 87 | + cases: [ |
| 88 | + new EnumBackedCase('2m', '2m'), |
| 89 | + new EnumBackedCase('>2m', '>2m'), |
| 90 | + ], |
| 91 | + ); |
| 92 | + $file = PhpFile::createFromClass($enum); |
| 93 | + |
| 94 | + $this->assertSourceResult($renderer->render($file), 'PhpEnumTest.' . __FUNCTION__); |
| 95 | + } |
| 96 | + |
| 97 | + public function testCaseWithSpecialCharactersNative(): void |
| 98 | + { |
| 99 | + $renderer = new Php81Renderer(); |
| 100 | + $enum = new PhpEnum( |
| 101 | + 'Test', |
| 102 | + Type::fromString('string'), |
| 103 | + cases: [ |
| 104 | + new EnumBackedCase('2m', '2m'), |
| 105 | + new EnumBackedCase('>2m', '>2m'), |
| 106 | + ], |
| 107 | + ); |
| 108 | + $file = PhpFile::createFromClass($enum); |
| 109 | + |
| 110 | + $this->assertSourceResult($renderer->render($file), 'PhpEnumTest.' . __FUNCTION__); |
| 111 | + } |
79 | 112 | } |
0 commit comments