Skip to content

Commit df43dc1

Browse files
committed
Remove -1 allow_error mode
All "numeric" strings which emitted a notice now emit the usual warning.
1 parent 0f276bc commit df43dc1

39 files changed

+1149
-1043
lines changed

Zend/tests/add_006.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ echo "Done\n";
4141
Warning: A non-numeric value encountered in %s on line %d
4242
int(75636)
4343

44-
Notice: A non well formed numeric value encountered in %s on line %d
45-
int(951858)
44+
Warning: A non-numeric value encountered in %s on line %d
45+
int(75636)
4646
int(48550510)
4747
float(75661.68)
4848

4949
Warning: A non-numeric value encountered in %s on line %d
5050
int(75636)
5151

52-
Notice: A non well formed numeric value encountered in %s on line %d
53-
int(951858)
52+
Warning: A non-numeric value encountered in %s on line %d
53+
int(75636)
5454
int(48550510)
5555
float(75661.68)
5656
Done

Zend/tests/bug72057.phpt

Lines changed: 0 additions & 19 deletions
This file was deleted.

Zend/tests/int_conversion_exponents.phpt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ int(-1234500000)
3939
int(1234500000)
4040
int(-1234500000)
4141

42-
Notice: A non well formed numeric value encountered in %s on line %d
43-
int(1234500000)
42+
Warning: A non-numeric value encountered in %s on line %d
43+
int(0)
4444

45-
Notice: A non well formed numeric value encountered in %s on line %d
46-
int(-1234500000)
45+
Warning: A non-numeric value encountered in %s on line %d
46+
int(0)
4747

48-
Notice: A non well formed numeric value encountered in %s on line %d
49-
int(1234500000)
48+
Warning: A non-numeric value encountered in %s on line %d
49+
int(0)
5050

51-
Notice: A non well formed numeric value encountered in %s on line %d
52-
int(-1234500000)
51+
Warning: A non-numeric value encountered in %s on line %d
52+
int(0)

Zend/tests/non_well_formed_param_exception.phpt

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
--TEST--
2+
Using different sorts of numerical strings as an array offset
3+
--FILE--
4+
<?php
5+
6+
$arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
7+
8+
var_dump($arr["7"]);
9+
var_dump($arr["7.5"]);
10+
var_dump($arr[" 7"]);
11+
var_dump($arr[" 7.5"]);
12+
var_dump($arr[" 7 "]);
13+
var_dump($arr[" 7.5 "]);
14+
var_dump($arr["7 "]);
15+
var_dump($arr["7.5 "]);
16+
var_dump($arr["7str"]);
17+
var_dump($arr["7.5str"]);
18+
var_dump($arr[" 7str"]);
19+
var_dump($arr[" 7.5str"]);
20+
var_dump($arr[" 7 str"]);
21+
var_dump($arr[" 7.5 str"]);
22+
var_dump($arr["7 str"]);
23+
var_dump($arr["7.5 str"]);
24+
var_dump($arr["0xA"]);
25+
var_dump($arr["0b10"]);
26+
var_dump($arr["07"]);
27+
28+
echo "Done\n";
29+
?>
30+
--EXPECTF--
31+
int(7)
32+
33+
Notice: Undefined index: 7.5 in %s on line 6
34+
NULL
35+
36+
Notice: Undefined index: 7 in %s on line 7
37+
NULL
38+
39+
Notice: Undefined index: 7.5 in %s on line 8
40+
NULL
41+
42+
Notice: Undefined index: 7 in %s on line 9
43+
NULL
44+
45+
Notice: Undefined index: 7.5 in %s on line 10
46+
NULL
47+
48+
Notice: Undefined index: 7 in %s on line 11
49+
NULL
50+
51+
Notice: Undefined index: 7.5 in %s on line 12
52+
NULL
53+
54+
Notice: Undefined index: 7str in %s on line 13
55+
NULL
56+
57+
Notice: Undefined index: 7.5str in %s on line 14
58+
NULL
59+
60+
Notice: Undefined index: 7str in %s on line 15
61+
NULL
62+
63+
Notice: Undefined index: 7.5str in %s on line 16
64+
NULL
65+
66+
Notice: Undefined index: 7 str in %s on line 17
67+
NULL
68+
69+
Notice: Undefined index: 7.5 str in %s on line 18
70+
NULL
71+
72+
Notice: Undefined index: 7 str in %s on line 19
73+
NULL
74+
75+
Notice: Undefined index: 7.5 str in %s on line 20
76+
NULL
77+
78+
Notice: Undefined index: 0xA in %s on line 21
79+
NULL
80+
81+
Notice: Undefined index: 0b10 in %s on line 22
82+
NULL
83+
84+
Notice: Undefined index: 07 in %s on line 23
85+
NULL
86+
Done
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--TEST--
2+
Explicit cast of leading numeric strings should still work without warning
3+
--FILE--
4+
<?php
5+
6+
var_dump((int) "2px");
7+
var_dump((float) "2px");
8+
var_dump((int) "2.5px");
9+
var_dump((float) "2.5px");
10+
11+
?>
12+
--EXPECT--
13+
int(2)
14+
float(2)
15+
int(2)
16+
float(2.5)

Zend/tests/numeric_string_errors_assign.phpt renamed to Zend/tests/numeric_strings/invalid_numeric_string_must_generate_warning_assign.phpt

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
--TEST--
2-
Invalid numeric string E_WARNINGs and E_NOTICEs, combined assignment operations
2+
Invalid numeric string E_WARNINGs, combined assignment operations
33
--FILE--
44
<?php
55

@@ -43,9 +43,12 @@ $a = foxcache("aliqua.");
4343
$a **= "Ut";
4444
var_dump($a);
4545
echo "---", PHP_EOL;
46-
$a = foxcache("31 enim");
47-
$a %= "37 ad";
48-
var_dump($a);
46+
try {
47+
$a = foxcache("31 enim");
48+
$a %= "37 ad";
49+
var_dump($a);
50+
} catch (DivisionByZeroError $e) {
51+
}
4952
try {
5053
$a = foxcache("minim");
5154
$a %= "veniam,";
@@ -107,43 +110,45 @@ $a ^= "reprehenderit";
107110
var_dump($a);
108111
?>
109112
--EXPECTF--
110-
Notice: A non well formed numeric value encountered in %s on line %d
113+
Warning: A non-numeric value encountered in %s on line %d
111114

112-
Notice: A non well formed numeric value encountered in %s on line %d
113-
int(5)
115+
Warning: A non-numeric value encountered in %s on line %d
116+
int(0)
114117

115118
Warning: A non-numeric value encountered in %s on line %d
116119

117120
Warning: A non-numeric value encountered in %s on line %d
118121
int(0)
119122
---
120123

121-
Notice: A non well formed numeric value encountered in %s on line %d
124+
Warning: A non-numeric value encountered in %s on line %d
122125

123-
Notice: A non well formed numeric value encountered in %s on line %d
124-
int(-2)
126+
Warning: A non-numeric value encountered in %s on line %d
127+
int(0)
125128

126129
Warning: A non-numeric value encountered in %s on line %d
127130

128131
Warning: A non-numeric value encountered in %s on line %d
129132
int(0)
130133
---
131134

132-
Notice: A non well formed numeric value encountered in %s on line %d
135+
Warning: A non-numeric value encountered in %s on line %d
133136

134-
Notice: A non well formed numeric value encountered in %s on line %d
135-
int(143)
137+
Warning: A non-numeric value encountered in %s on line %d
138+
int(0)
136139

137140
Warning: A non-numeric value encountered in %s on line %d
138141

139142
Warning: A non-numeric value encountered in %s on line %d
140143
int(0)
141144
---
142145

143-
Notice: A non well formed numeric value encountered in %s on line %d
146+
Warning: A non-numeric value encountered in %s on line %d
144147

145-
Notice: A non well formed numeric value encountered in %s on line %d
146-
float(0.8947368421052632)
148+
Warning: A non-numeric value encountered in %s on line %d
149+
150+
Warning: Division by zero in %s on line %d
151+
float(NAN)
147152

148153
Warning: A non-numeric value encountered in %s on line %d
149154

@@ -153,41 +158,40 @@ Warning: Division by zero in %s on line %d
153158
float(NAN)
154159
---
155160

156-
Notice: A non well formed numeric value encountered in %s on line %d
161+
Warning: A non-numeric value encountered in %s on line %d
157162

158-
Notice: A non well formed numeric value encountered in %s on line %d
159-
float(3.0910586430935376E+39)
163+
Warning: A non-numeric value encountered in %s on line %d
164+
int(1)
160165

161166
Warning: A non-numeric value encountered in %s on line %d
162167

163168
Warning: A non-numeric value encountered in %s on line %d
164169
int(1)
165170
---
166171

167-
Notice: A non well formed numeric value encountered in %s on line %d
172+
Warning: A non-numeric value encountered in %s on line %d
168173

169-
Notice: A non well formed numeric value encountered in %s on line %d
170-
int(31)
174+
Warning: A non-numeric value encountered in %s on line %d
171175

172176
Warning: A non-numeric value encountered in %s on line %d
173177

174178
Warning: A non-numeric value encountered in %s on line %d
175179
---
176180

177-
Notice: A non well formed numeric value encountered in %s on line %d
181+
Warning: A non-numeric value encountered in %s on line %d
178182

179-
Notice: A non well formed numeric value encountered in %s on line %d
180-
int(%d)
183+
Warning: A non-numeric value encountered in %s on line %d
184+
int(0)
181185

182186
Warning: A non-numeric value encountered in %s on line %d
183187

184188
Warning: A non-numeric value encountered in %s on line %d
185189
int(0)
186190
---
187191

188-
Notice: A non well formed numeric value encountered in %s on line %d
192+
Warning: A non-numeric value encountered in %s on line %d
189193

190-
Notice: A non well formed numeric value encountered in %s on line %d
194+
Warning: A non-numeric value encountered in %s on line %d
191195
int(0)
192196

193197
Warning: A non-numeric value encountered in %s on line %d
@@ -196,11 +200,11 @@ Warning: A non-numeric value encountered in %s on line %d
196200
int(0)
197201
---
198202

199-
Notice: A non well formed numeric value encountered in %s on line %d
200-
int(63)
203+
Warning: A non-numeric value encountered in %s on line %d
204+
int(61)
201205

202-
Notice: A non well formed numeric value encountered in %s on line %d
203-
int(71)
206+
Warning: A non-numeric value encountered in %s on line %d
207+
int(67)
204208

205209
Warning: A non-numeric value encountered in %s on line %d
206210
int(73)
@@ -209,11 +213,11 @@ Warning: A non-numeric value encountered in %s on line %d
209213
int(79)
210214
---
211215

212-
Notice: A non well formed numeric value encountered in %s on line %d
213-
int(81)
216+
Warning: A non-numeric value encountered in %s on line %d
217+
int(0)
214218

215-
Notice: A non well formed numeric value encountered in %s on line %d
216-
int(97)
219+
Warning: A non-numeric value encountered in %s on line %d
220+
int(0)
217221

218222
Warning: A non-numeric value encountered in %s on line %d
219223
int(0)
@@ -222,11 +226,11 @@ Warning: A non-numeric value encountered in %s on line %d
222226
int(0)
223227
---
224228

225-
Notice: A non well formed numeric value encountered in %s on line %d
226-
int(28)
229+
Warning: A non-numeric value encountered in %s on line %d
230+
int(113)
227231

228-
Notice: A non well formed numeric value encountered in %s on line %d
229-
int(252)
232+
Warning: A non-numeric value encountered in %s on line %d
233+
int(127)
230234

231235
Warning: A non-numeric value encountered in %s on line %d
232236
int(137)

0 commit comments

Comments
 (0)