@@ -28,6 +28,7 @@ final class TokenNameTest extends TestCase
28
28
* @param string $expected The expected token name.
29
29
*
30
30
* @dataProvider dataTokenName
31
+ * @dataProvider dataPolyfilledPHPNativeTokens
31
32
*
32
33
* @return void
33
34
*/
@@ -78,4 +79,106 @@ public static function dataTokenName()
78
79
}//end dataTokenName()
79
80
80
81
82
+ /**
83
+ * Data provider.
84
+ *
85
+ * @return array<string, array<string, int|string>>
86
+ */
87
+ public static function dataPolyfilledPHPNativeTokens ()
88
+ {
89
+ return [
90
+ 'PHP 5.5 native token, polyfilled: T_FINALLY ' => [
91
+ 'tokenCode ' => T_FINALLY ,
92
+ 'expected ' => 'T_FINALLY ' ,
93
+ ],
94
+ 'PHP 5.5 native token, polyfilled: T_YIELD ' => [
95
+ 'tokenCode ' => T_YIELD ,
96
+ 'expected ' => 'T_YIELD ' ,
97
+ ],
98
+
99
+ 'PHP 5.6 native token, polyfilled: T_ELLIPSIS ' => [
100
+ 'tokenCode ' => T_ELLIPSIS ,
101
+ 'expected ' => 'T_ELLIPSIS ' ,
102
+ ],
103
+ 'PHP 5.6 native token, polyfilled: T_POW ' => [
104
+ 'tokenCode ' => T_POW ,
105
+ 'expected ' => 'T_POW ' ,
106
+ ],
107
+ 'PHP 5.6 native token, polyfilled: T_POW_EQUAL ' => [
108
+ 'tokenCode ' => T_POW_EQUAL ,
109
+ 'expected ' => 'T_POW_EQUAL ' ,
110
+ ],
111
+
112
+ 'PHP 7.0 native token, polyfilled: T_SPACESHIP ' => [
113
+ 'tokenCode ' => T_SPACESHIP ,
114
+ 'expected ' => 'T_SPACESHIP ' ,
115
+ ],
116
+ 'PHP 7.0 native token, polyfilled: T_COALESCE ' => [
117
+ 'tokenCode ' => T_COALESCE ,
118
+ 'expected ' => 'T_COALESCE ' ,
119
+ ],
120
+ 'PHP 7.0 native token, polyfilled: T_YIELD_FROM ' => [
121
+ 'tokenCode ' => T_YIELD_FROM ,
122
+ 'expected ' => 'T_YIELD_FROM ' ,
123
+ ],
124
+
125
+ 'PHP 7.4 native token, polyfilled: T_COALESCE_EQUAL ' => [
126
+ 'tokenCode ' => T_COALESCE_EQUAL ,
127
+ 'expected ' => 'T_COALESCE_EQUAL ' ,
128
+ ],
129
+ 'PHP 7.4 native token, polyfilled: T_BAD_CHARACTER ' => [
130
+ 'tokenCode ' => T_BAD_CHARACTER ,
131
+ 'expected ' => 'T_BAD_CHARACTER ' ,
132
+ ],
133
+ 'PHP 7.4 native token, polyfilled: T_FN ' => [
134
+ 'tokenCode ' => T_FN ,
135
+ 'expected ' => 'T_FN ' ,
136
+ ],
137
+
138
+ 'PHP 8.0 native token, polyfilled: T_NULLSAFE_OBJECT_OPERATOR ' => [
139
+ 'tokenCode ' => T_NULLSAFE_OBJECT_OPERATOR ,
140
+ 'expected ' => 'T_NULLSAFE_OBJECT_OPERATOR ' ,
141
+ ],
142
+ 'PHP 8.0 native token, polyfilled: T_NAME_QUALIFIED ' => [
143
+ 'tokenCode ' => T_NAME_QUALIFIED ,
144
+ 'expected ' => 'T_NAME_QUALIFIED ' ,
145
+ ],
146
+ 'PHP 8.0 native token, polyfilled: T_NAME_FULLY_QUALIFIED ' => [
147
+ 'tokenCode ' => T_NAME_FULLY_QUALIFIED ,
148
+ 'expected ' => 'T_NAME_FULLY_QUALIFIED ' ,
149
+ ],
150
+ 'PHP 8.0 native token, polyfilled: T_NAME_RELATIVE ' => [
151
+ 'tokenCode ' => T_NAME_RELATIVE ,
152
+ 'expected ' => 'T_NAME_RELATIVE ' ,
153
+ ],
154
+ 'PHP 8.0 native token, polyfilled: T_MATCH ' => [
155
+ 'tokenCode ' => T_MATCH ,
156
+ 'expected ' => 'T_MATCH ' ,
157
+ ],
158
+ 'PHP 8.0 native token, polyfilled: T_ATTRIBUTE ' => [
159
+ 'tokenCode ' => T_ATTRIBUTE ,
160
+ 'expected ' => 'T_ATTRIBUTE ' ,
161
+ ],
162
+
163
+ 'PHP 8.1 native token, polyfilled: T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG ' => [
164
+ 'tokenCode ' => T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG ,
165
+ 'expected ' => 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG ' ,
166
+ ],
167
+ 'PHP 8.1 native token, polyfilled: T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG ' => [
168
+ 'tokenCode ' => T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG ,
169
+ 'expected ' => 'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG ' ,
170
+ ],
171
+ 'PHP 8.1 native token, polyfilled: T_READONLY ' => [
172
+ 'tokenCode ' => T_READONLY ,
173
+ 'expected ' => 'T_READONLY ' ,
174
+ ],
175
+ 'PHP 8.1 native token, polyfilled: T_ENUM ' => [
176
+ 'tokenCode ' => T_ENUM ,
177
+ 'expected ' => 'T_ENUM ' ,
178
+ ],
179
+ ];
180
+
181
+ }//end dataPolyfilledPHPNativeTokens()
182
+
183
+
81
184
}//end class
0 commit comments