Skip to content

Commit 1c22c6d

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

39 files changed

+1153
-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 array key "7.5" in %s on line 6
34+
NULL
35+
36+
Notice: Undefined array key " 7" in %s on line 7
37+
NULL
38+
39+
Notice: Undefined array key " 7.5" in %s on line 8
40+
NULL
41+
42+
Notice: Undefined array key " 7 " in %s on line 9
43+
NULL
44+
45+
Notice: Undefined array key " 7.5 " in %s on line 10
46+
NULL
47+
48+
Notice: Undefined array key "7 " in %s on line 11
49+
NULL
50+
51+
Notice: Undefined array key "7.5 " in %s on line 12
52+
NULL
53+
54+
Notice: Undefined array key "7str" in %s on line 13
55+
NULL
56+
57+
Notice: Undefined array key "7.5str" in %s on line 14
58+
NULL
59+
60+
Notice: Undefined array key " 7str" in %s on line 15
61+
NULL
62+
63+
Notice: Undefined array key " 7.5str" in %s on line 16
64+
NULL
65+
66+
Notice: Undefined array key " 7 str" in %s on line 17
67+
NULL
68+
69+
Notice: Undefined array key " 7.5 str" in %s on line 18
70+
NULL
71+
72+
Notice: Undefined array key "7 str" in %s on line 19
73+
NULL
74+
75+
Notice: Undefined array key "7.5 str" in %s on line 20
76+
NULL
77+
78+
Notice: Undefined array key "0xA" in %s on line 21
79+
NULL
80+
81+
Notice: Undefined array key "0b10" in %s on line 22
82+
NULL
83+
84+
Notice: Undefined array key "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: 47 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,14 +43,19 @@ $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+
echo $e->getMessage() . \PHP_EOL;
52+
}
4953
try {
5054
$a = foxcache("minim");
5155
$a %= "veniam,";
5256
var_dump($a);
5357
} catch (DivisionByZeroError $e) {
58+
echo $e->getMessage() . \PHP_EOL;
5459
}
5560
echo "---", PHP_EOL;
5661
$a = foxcache("41 minim");
@@ -107,43 +112,45 @@ $a ^= "reprehenderit";
107112
var_dump($a);
108113
?>
109114
--EXPECTF--
110-
Notice: A non well formed numeric value encountered in %s on line %d
115+
Warning: A non-numeric value encountered in %s on line %d
111116

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

115120
Warning: A non-numeric value encountered in %s on line %d
116121

117122
Warning: A non-numeric value encountered in %s on line %d
118123
int(0)
119124
---
120125

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

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

126131
Warning: A non-numeric value encountered in %s on line %d
127132

128133
Warning: A non-numeric value encountered in %s on line %d
129134
int(0)
130135
---
131136

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

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

137142
Warning: A non-numeric value encountered in %s on line %d
138143

139144
Warning: A non-numeric value encountered in %s on line %d
140145
int(0)
141146
---
142147

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

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

148155
Warning: A non-numeric value encountered in %s on line %d
149156

@@ -153,41 +160,42 @@ Warning: Division by zero in %s on line %d
153160
float(NAN)
154161
---
155162

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

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

161168
Warning: A non-numeric value encountered in %s on line %d
162169

163170
Warning: A non-numeric value encountered in %s on line %d
164171
int(1)
165172
---
166173

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

169-
Notice: A non well formed numeric value encountered in %s on line %d
170-
int(31)
176+
Warning: A non-numeric value encountered in %s on line %d
177+
Modulo by zero
171178

172179
Warning: A non-numeric value encountered in %s on line %d
173180

174181
Warning: A non-numeric value encountered in %s on line %d
182+
Modulo by zero
175183
---
176184

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

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

182190
Warning: A non-numeric value encountered in %s on line %d
183191

184192
Warning: A non-numeric value encountered in %s on line %d
185193
int(0)
186194
---
187195

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

190-
Notice: A non well formed numeric value encountered in %s on line %d
198+
Warning: A non-numeric value encountered in %s on line %d
191199
int(0)
192200

193201
Warning: A non-numeric value encountered in %s on line %d
@@ -196,11 +204,11 @@ Warning: A non-numeric value encountered in %s on line %d
196204
int(0)
197205
---
198206

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

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

205213
Warning: A non-numeric value encountered in %s on line %d
206214
int(73)
@@ -209,11 +217,11 @@ Warning: A non-numeric value encountered in %s on line %d
209217
int(79)
210218
---
211219

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

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

218226
Warning: A non-numeric value encountered in %s on line %d
219227
int(0)
@@ -222,11 +230,11 @@ Warning: A non-numeric value encountered in %s on line %d
222230
int(0)
223231
---
224232

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

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

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

0 commit comments

Comments
 (0)