@@ -132,6 +132,93 @@ OUTPUT;
132132
133133$ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX = '/^ ' . expectf_to_regex (EXPECTF_OUTPUT_FLOAT_OFFSETS ) . '$/s ' ;
134134
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+
135222const EXPECTED_OUTPUT_NULL_OFFSETS = <<<OUTPUT
136223Read before write:
137224
@@ -452,6 +539,7 @@ foreach ($offsets as $dimension) {
452539 !preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_REGEX , $ varOutput )
453540 && !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX , $ varOutput )
454541 && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX , $ varOutput )
542+ && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OOB_OFFSETS_REGEX , $ varOutput )
455543 && !preg_match ($ EXPECTED_OUTPUT_NULL_OFFSETS_REGEX , $ varOutput )
456544 && $ varOutput !== EXPECTED_OUTPUT_NULL_OFFSET
457545 && $ varOutput !== EXPECTED_OUTPUT_RESOURCE_STDERR_OFFSETS
@@ -484,6 +572,7 @@ foreach ($offsets as $offset) {
484572 !preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_REGEX , $ varOutput )
485573 && !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX , $ varOutput )
486574 && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX , $ varOutput )
575+ && !preg_match ($ EXPECTED_OUTPUT_FLOAT_OOB_OFFSETS_REGEX , $ varOutput )
487576 && !preg_match ($ EXPECTED_OUTPUT_NULL_OFFSETS_REGEX , $ varOutput )
488577 && $ varOutput !== EXPECTED_OUTPUT_NULL_OFFSET
489578 && $ varOutput !== EXPECTED_OUTPUT_RESOURCE_STDERR_OFFSETS
0 commit comments