@@ -132,6 +132,93 @@ OUTPUT;
132
132
133
133
$ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX = '/^ ' . expectf_to_regex (EXPECTF_OUTPUT_FLOAT_OFFSETS ) . '$/s ' ;
134
134
135
+ const EXPECTF_OUTPUT_FLOAT_OOB_OFFSETS = <<<OUTPUT
136
+ Read before write:
137
+
138
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
139
+
140
+ Warning: Undefined array key 0 in %s on line %d
141
+ NULL
142
+ Write:
143
+
144
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
145
+ Read:
146
+
147
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
148
+ int(5)
149
+ Read-Write:
150
+
151
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
152
+ isset():
153
+
154
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
155
+ bool(true)
156
+ empty():
157
+
158
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
159
+ bool(false)
160
+ null coalesce:
161
+
162
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
163
+ int(25)
164
+ Reference to dimension:
165
+
166
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
167
+ Value of reference:
168
+ int(25)
169
+ Value of container dimension after write to reference (should be int(100) if successful):
170
+
171
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
172
+ int(100)
173
+ unset():
174
+
175
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
176
+ Nested read:
177
+
178
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
179
+
180
+ Warning: Undefined array key 0 in %s on line %d
181
+
182
+ Warning: Trying to access array offset on null in %s on line 74
183
+ NULL
184
+ Nested write:
185
+
186
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
187
+
188
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
189
+ Nested Read-Write:
190
+
191
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
192
+
193
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
194
+ Nested isset():
195
+
196
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
197
+
198
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
199
+ bool(true)
200
+ Nested empty():
201
+
202
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
203
+
204
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
205
+ bool(false)
206
+ Nested null coalesce:
207
+
208
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
209
+
210
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
211
+ int(30)
212
+ Nested unset():
213
+
214
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
215
+
216
+ Warning: The float %F is not representable as an int, cast occurred in %s on line %d
217
+
218
+ OUTPUT ;
219
+
220
+ $ EXPECTED_OUTPUT_FLOAT_OOB_OFFSETS_REGEX = '/^ ' . expectf_to_regex (EXPECTF_OUTPUT_FLOAT_OOB_OFFSETS ) . '$/s ' ;
221
+
135
222
const EXPECTED_OUTPUT_NULL_OFFSETS = <<<OUTPUT
136
223
Read before write:
137
224
@@ -452,6 +539,7 @@ foreach ($offsets as $dimension) {
452
539
!preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_REGEX , $ varOutput )
453
540
&& !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX , $ varOutput )
454
541
&& !preg_match ($ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX , $ varOutput )
542
+ && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OOB_OFFSETS_REGEX , $ varOutput )
455
543
&& !preg_match ($ EXPECTED_OUTPUT_NULL_OFFSETS_REGEX , $ varOutput )
456
544
&& $ varOutput !== EXPECTED_OUTPUT_NULL_OFFSET
457
545
&& $ varOutput !== EXPECTED_OUTPUT_RESOURCE_STDERR_OFFSETS
@@ -484,6 +572,7 @@ foreach ($offsets as $offset) {
484
572
!preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_REGEX , $ varOutput )
485
573
&& !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX , $ varOutput )
486
574
&& !preg_match ($ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX , $ varOutput )
575
+ && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OOB_OFFSETS_REGEX , $ varOutput )
487
576
&& !preg_match ($ EXPECTED_OUTPUT_NULL_OFFSETS_REGEX , $ varOutput )
488
577
&& $ varOutput !== EXPECTED_OUTPUT_NULL_OFFSET
489
578
&& $ varOutput !== EXPECTED_OUTPUT_RESOURCE_STDERR_OFFSETS
0 commit comments