File tree Expand file tree Collapse file tree 2 files changed +14
-22
lines changed Expand file tree Collapse file tree 2 files changed +14
-22
lines changed Original file line number Diff line number Diff line change @@ -416,19 +416,15 @@ final class Tokenizer
416416 'CENTROID ' ,
417417 'CHAR ' ,
418418 'CHARACTER_LENGTH ' ,
419- 'CHARSET ' ,
420419 'CHAR_LENGTH ' ,
421420 'CHECKSUM_AGG ' ,
422421 'COALESCE ' ,
423422 'COERCIBILITY ' ,
424- 'COLLATION ' ,
425423 'COMPRESS ' ,
426424 'CONCAT ' ,
427425 'CONCAT_WS ' ,
428426 'CONNECTION_ID ' ,
429- 'CONTAINS ' ,
430427 'CONV ' ,
431- 'CONVERT ' ,
432428 'CONVERT_TZ ' ,
433429 'CONVEXHULL ' ,
434430 'COS ' ,
@@ -441,23 +437,19 @@ final class Tokenizer
441437 'CURDATE ' ,
442438 'CURRENT_DATE ' ,
443439 'CURRENT_TIME ' ,
444- 'CURRENT_TIMESTAMP ' ,
445440 'CURRENT_USER ' ,
446441 'CURTIME ' ,
447- 'DATABASE ' ,
448442 'DATE ' ,
449443 'DATEDIFF ' ,
450444 'DATE_ADD ' ,
451445 'DATE_DIFF ' ,
452446 'DATE_FORMAT ' ,
453447 'DATE_SUB ' ,
454- 'DAY ' ,
455448 'DAYNAME ' ,
456449 'DAYOFMONTH ' ,
457450 'DAYOFWEEK ' ,
458451 'DAYOFYEAR ' ,
459452 'DECODE ' ,
460- 'DEFAULT ' ,
461453 'DEGREES ' ,
462454 'DENSE_RANK ' ,
463455 'DES_DECRYPT ' ,
@@ -505,17 +497,12 @@ final class Tokenizer
505497 'GROUP_CONCAT ' ,
506498 'GROUP_UNIQUE_USERS ' ,
507499 'HEX ' ,
508- 'HOUR ' ,
509- 'IF ' ,
510- 'IFNULL ' ,
511500 'INET_ATON ' ,
512501 'INET_NTOA ' ,
513- 'INSERT ' ,
514502 'INSTR ' ,
515503 'INTERIORRINGN ' ,
516504 'INTERSECTION ' ,
517505 'INTERSECTS ' ,
518- 'INTERVAL ' ,
519506 'ISCLOSED ' ,
520507 'ISEMPTY ' ,
521508 'ISNULL ' ,
@@ -525,12 +512,10 @@ final class Tokenizer
525512 'IS_USED_LOCK ' ,
526513 'LAG ' ,
527514 'LAST_DAY ' ,
528- 'LAST_INSERT_ID ' ,
529515 'LAST_VALUE ' ,
530516 'LCASE ' ,
531517 'LEAD ' ,
532518 'LEAST ' ,
533- 'LEFT ' ,
534519 'LENGTH ' ,
535520 'LINEFROMTEXT ' ,
536521 'LINEFROMWKB ' ,
@@ -565,11 +550,9 @@ final class Tokenizer
565550 'MICROSECOND ' ,
566551 'MID ' ,
567552 'MIN ' ,
568- 'MINUTE ' ,
569553 'MLINEFROMTEXT ' ,
570554 'MLINEFROMWKB ' ,
571555 'MOD ' ,
572- 'MONTH ' ,
573556 'MONTHNAME ' ,
574557 'MPOINTFROMTEXT ' ,
575558 'MPOINTFROMWKB ' ,
@@ -597,7 +580,6 @@ final class Tokenizer
597580 'OLD_PASSWORD ' ,
598581 'ORD ' ,
599582 'OVERLAPS ' ,
600- 'PASSWORD ' ,
601583 'PERCENTILE_CONT ' ,
602584 'PERCENTILE_DISC ' ,
603585 'PERCENT_RANK ' ,
@@ -625,16 +607,13 @@ final class Tokenizer
625607 'RELATED ' ,
626608 'RELEASE_LOCK ' ,
627609 'REPEAT ' ,
628- 'REPLACE ' ,
629610 'REVERSE ' ,
630- 'RIGHT ' ,
631611 'ROUND ' ,
632612 'ROW_COUNT ' ,
633613 'ROW_NUMBER ' ,
634614 'RPAD ' ,
635615 'RTRIM ' ,
636616 'SCHEMA ' ,
637- 'SECOND ' ,
638617 'SEC_TO_TIME ' ,
639618 'SESSION_USER ' ,
640619 'SHA ' ,
@@ -676,7 +655,6 @@ final class Tokenizer
676655 'TOUCHES ' ,
677656 'TO_DAYS ' ,
678657 'TRIM ' ,
679- 'TRUNCATE ' ,
680658 'UCASE ' ,
681659 'UNCOMPRESS ' ,
682660 'UNCOMPRESSED_LENGTH ' ,
Original file line number Diff line number Diff line change 1212use PHPUnit \Framework \TestCase ;
1313use ReflectionClass ;
1414
15+ use function array_diff_key ;
1516use function array_filter ;
1617use function array_merge ;
1718use function array_unique ;
@@ -68,6 +69,19 @@ public function testKeywordsAreSingleUpperWord(): void
6869 self ::assertSame ([], $ kwsDiff );
6970 }
7071
72+ public function testKeywordsAreDisjunctive (): void
73+ {
74+ $ tokenizerKeywords = array_merge (
75+ $ this ->getTokenizerList ('reserved ' ),
76+ $ this ->getTokenizerList ('functions ' ),
77+ );
78+
79+ self ::assertSame (
80+ [],
81+ array_diff_key ($ tokenizerKeywords , array_unique ($ tokenizerKeywords )),
82+ );
83+ }
84+
7185 /** @param list<Token> $expectedTokens */
7286 public static function assertEqualsTokens (array $ expectedTokens , Cursor $ cursor ): void
7387 {
You can’t perform that action at this time.
0 commit comments