@@ -62,6 +62,9 @@ public function testGetAllCodes()
6262 {
6363 $ codes = ErrorTypes::getAllCodes ();
6464
65+ if (PHP_VERSION_ID < 80400 )
66+ unset($ codes [E_STRICT ]);
67+
6568 // If we actually got all of the codes, they should combine to equal E_ALL
6669 $ combined = array_reduce ($ codes , function ($ acc , $ code ) {
6770 return $ acc | $ code ;
@@ -85,7 +88,7 @@ public function testCodeToString($code, $expected)
8588
8689 public function levelsForSeverityProvider ()
8790 {
88- return [
91+ $ levels = [
8992 'error ' => [
9093 'error ' ,
9194 E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR ,
@@ -96,18 +99,24 @@ public function levelsForSeverityProvider()
9699 ],
97100 'info ' => [
98101 'info ' ,
99- E_NOTICE | E_USER_NOTICE | E_STRICT | E_DEPRECATED | E_USER_DEPRECATED ,
102+ E_NOTICE | E_USER_NOTICE | E_DEPRECATED | E_USER_DEPRECATED ,
100103 ],
101104 'non existent severity ' => [
102105 'non existent severity ' ,
103106 0 ,
104107 ],
105108 ];
109+
110+ if (PHP_VERSION_ID < 80400 ) {
111+ $ levels ['info ' ][1 ] |= E_STRICT ;
112+ }
113+
114+ return $ levels ;
106115 }
107116
108117 public function isFatalProvider ()
109118 {
110- return [
119+ $ fatals = [
111120 'E_ERROR ' => [E_ERROR , true ],
112121 'E_PARSE ' => [E_PARSE , true ],
113122 'E_CORE_ERROR ' => [E_CORE_ERROR , true ],
@@ -120,16 +129,21 @@ public function isFatalProvider()
120129 'E_USER_WARNING ' => [E_USER_WARNING , false ],
121130 'E_NOTICE ' => [E_NOTICE , false ],
122131 'E_USER_NOTICE ' => [E_USER_NOTICE , false ],
123- 'E_STRICT ' => [E_STRICT , false ],
124132 'E_DEPRECATED ' => [E_DEPRECATED , false ],
125133 'E_USER_DEPRECATED ' => [E_USER_DEPRECATED , false ],
126134 'invalid code ' => ['hello ' , true ],
127135 ];
136+
137+ if (PHP_VERSION_ID < 80400 ) {
138+ $ fatals ['E_STRICT ' ] = [E_STRICT , false ];
139+ }
140+
141+ return $ fatals ;
128142 }
129143
130144 public function nameProvider ()
131145 {
132- return [
146+ $ names = [
133147 'E_ERROR ' => [E_ERROR , 'PHP Fatal Error ' ],
134148 'E_WARNING ' => [E_WARNING , 'PHP Warning ' ],
135149 'E_PARSE ' => [E_PARSE , 'PHP Parse Error ' ],
@@ -141,17 +155,22 @@ public function nameProvider()
141155 'E_USER_ERROR ' => [E_USER_ERROR , 'User Error ' ],
142156 'E_USER_WARNING ' => [E_USER_WARNING , 'User Warning ' ],
143157 'E_USER_NOTICE ' => [E_USER_NOTICE , 'User Notice ' ],
144- 'E_STRICT ' => [E_STRICT , 'PHP Strict ' ],
145158 'E_RECOVERABLE_ERROR ' => [E_RECOVERABLE_ERROR , 'PHP Recoverable Error ' ],
146159 'E_DEPRECATED ' => [E_DEPRECATED , 'PHP Deprecated ' ],
147160 'E_USER_DEPRECATED ' => [E_USER_DEPRECATED , 'User Deprecated ' ],
148161 'invalid code ' => ['hello ' , 'Unknown ' ],
149162 ];
163+
164+ if (PHP_VERSION_ID < 80400 ) {
165+ $ names ['E_STRICT ' ] = [E_STRICT , 'PHP Strict ' ];
166+ }
167+
168+ return $ names ;
150169 }
151170
152171 public function severityProvider ()
153172 {
154- return [
173+ $ severities = [
155174 'E_ERROR ' => [E_ERROR , 'error ' ],
156175 'E_PARSE ' => [E_PARSE , 'error ' ],
157176 'E_CORE_ERROR ' => [E_CORE_ERROR , 'error ' ],
@@ -164,16 +183,21 @@ public function severityProvider()
164183 'E_USER_WARNING ' => [E_USER_WARNING , 'warning ' ],
165184 'E_NOTICE ' => [E_NOTICE , 'info ' ],
166185 'E_USER_NOTICE ' => [E_USER_NOTICE , 'info ' ],
167- 'E_STRICT ' => [E_STRICT , 'info ' ],
168186 'E_DEPRECATED ' => [E_DEPRECATED , 'info ' ],
169187 'E_USER_DEPRECATED ' => [E_USER_DEPRECATED , 'info ' ],
170188 'invalid code ' => ['hello ' , 'error ' ],
171189 ];
190+
191+ if (PHP_VERSION_ID < 80400 ) {
192+ $ severities ['E_STRICT ' ] = [E_STRICT , 'info ' ];
193+ }
194+
195+ return $ severities ;
172196 }
173197
174198 public function codeToStringProvider ()
175199 {
176- return [
200+ $ strings = [
177201 'E_ERROR ' => [E_ERROR , 'E_ERROR ' ],
178202 'E_PARSE ' => [E_PARSE , 'E_PARSE ' ],
179203 'E_CORE_ERROR ' => [E_CORE_ERROR , 'E_CORE_ERROR ' ],
@@ -186,10 +210,15 @@ public function codeToStringProvider()
186210 'E_USER_WARNING ' => [E_USER_WARNING , 'E_USER_WARNING ' ],
187211 'E_NOTICE ' => [E_NOTICE , 'E_NOTICE ' ],
188212 'E_USER_NOTICE ' => [E_USER_NOTICE , 'E_USER_NOTICE ' ],
189- 'E_STRICT ' => [E_STRICT , 'E_STRICT ' ],
190213 'E_DEPRECATED ' => [E_DEPRECATED , 'E_DEPRECATED ' ],
191214 'E_USER_DEPRECATED ' => [E_USER_DEPRECATED , 'E_USER_DEPRECATED ' ],
192215 'invalid code ' => ['hello ' , 'Unknown ' ],
193216 ];
217+
218+ if (PHP_VERSION_ID < 80400 ) {
219+ $ strings ['E_STRICT ' ] = [E_STRICT , 'E_STRICT ' ];
220+ }
221+
222+ return $ strings ;
194223 }
195224}
0 commit comments