17
17
18
18
final class TokenizerTest extends TestCase
19
19
{
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
21
26
{
22
27
$ 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 ' );
25
37
26
38
$ kwsDiff = array_filter ($ tokenizerReserved , static function ($ v ) {
27
39
return $ v !== strtoupper ($ v ) || preg_match ('~\s~ ' , $ v ) !== 0 ;
@@ -32,25 +44,17 @@ public function testKeywordsReservedAreUpperCasedAndWithoutWhitespace(): void
32
44
33
45
public function testKeywordsReservedToplevelAndNewlineAreReserved (): void
34
46
{
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 ' );
42
48
43
49
$ kws = [];
44
50
45
- foreach ([...$ tokenizerReservedToplevel , ...$ tokenizerReservedNewline ] as $ v ) {
51
+ foreach ([...$ this -> getTokenizerList ( ' reservedToplevel ' ) , ...$ this -> getTokenizerList ( ' reservedNewline ' ) ] as $ v ) {
46
52
foreach (explode (' ' , $ v ) as $ kw ) {
47
53
$ kws [] = $ kw ;
48
54
}
49
55
}
50
56
51
- $ kwsDiff = array_diff ($ kws , $ tokenizerReserved );
52
-
53
- self ::assertSame ([], $ kwsDiff );
57
+ self ::assertSame ([], array_diff ($ kws , $ tokenizerReserved ));
54
58
}
55
59
56
60
#[DoesNotPerformAssertions]
0 commit comments