1717
1818final class TokenizerTest extends TestCase
1919{
20- public function testKeywordsReservedAreUpperCasedAndWithoutWhitespace (): void
20+ /**
21+ * @param 'reserved'|'reservedToplevel'|'reservedNewline' $propertyName
22+ *
23+ * @return list<string>
24+ */
25+ private function getTokenizerList (string $ propertyName ): array
2126 {
2227 $ tokenizerReflClass = new ReflectionClass (Tokenizer::class);
23- /** @var list<string> $tokenizerReserved */
24- $ tokenizerReserved = $ tokenizerReflClass ->getProperty ('reserved ' )->getDefaultValue ();
28+ /** @var list<string> $res */
29+ $ res = $ tokenizerReflClass ->getProperty ($ propertyName )->getDefaultValue ();
30+
31+ return $ res ;
32+ }
33+
34+ public function testKeywordsReservedAreUpperCasedAndWithoutWhitespace (): void
35+ {
36+ $ tokenizerReserved = $ this ->getTokenizerList ('reserved ' );
2537
2638 $ kwsDiff = array_filter ($ tokenizerReserved , static function ($ v ) {
2739 return $ v !== strtoupper ($ v ) || preg_match ('~\s~ ' , $ v ) !== 0 ;
@@ -32,25 +44,17 @@ public function testKeywordsReservedAreUpperCasedAndWithoutWhitespace(): void
3244
3345 public function testKeywordsReservedToplevelAndNewlineAreReserved (): void
3446 {
35- $ tokenizerReflClass = new ReflectionClass (Tokenizer::class);
36- /** @var list<string> $tokenizerReserved */
37- $ tokenizerReserved = $ tokenizerReflClass ->getProperty ('reserved ' )->getDefaultValue ();
38- /** @var list<string> $tokenizerReservedToplevel */
39- $ tokenizerReservedToplevel = $ tokenizerReflClass ->getProperty ('reservedToplevel ' )->getDefaultValue ();
40- /** @var list<string> $tokenizerReservedNewline */
41- $ tokenizerReservedNewline = $ tokenizerReflClass ->getProperty ('reservedNewline ' )->getDefaultValue ();
47+ $ tokenizerReserved = $ this ->getTokenizerList ('reserved ' );
4248
4349 $ kws = [];
4450
45- foreach ([...$ tokenizerReservedToplevel , ...$ tokenizerReservedNewline ] as $ v ) {
51+ foreach ([...$ this -> getTokenizerList ( ' reservedToplevel ' ) , ...$ this -> getTokenizerList ( ' reservedNewline ' ) ] as $ v ) {
4652 foreach (explode (' ' , $ v ) as $ kw ) {
4753 $ kws [] = $ kw ;
4854 }
4955 }
5056
51- $ kwsDiff = array_diff ($ kws , $ tokenizerReserved );
52-
53- self ::assertSame ([], $ kwsDiff );
57+ self ::assertSame ([], array_diff ($ kws , $ tokenizerReserved ));
5458 }
5559
5660 #[DoesNotPerformAssertions]
0 commit comments