Skip to content

Commit be1e9e8

Browse files
Add test (broken intval(), broken compile-time eval)
1 parent 9ff9014 commit be1e9e8

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--TEST--
2+
Integer conversion from scientific notation
3+
--FILE--
4+
<?php
5+
6+
var_dump((int)"1.2345e9");
7+
var_dump((int)"-1.2345e9");
8+
var_dump(intval("1.2345e9"));
9+
var_dump(intval("-1.2345e9"));
10+
var_dump("1.2345e9" % PHP_INT_MAX);
11+
var_dump("-1.2345e9" % PHP_INT_MIN);
12+
var_dump("1.2345e9" | 0);
13+
var_dump("-1.2345e9" | 0);
14+
15+
echo PHP_EOL;
16+
17+
var_dump((int)" 1.2345e9 abc");
18+
var_dump((int)" -1.2345e9 abc");
19+
var_dump(intval(" 1.2345e9 abc"));
20+
var_dump(intval(" -1.2345e9 abc"));
21+
var_dump(" 1.2345e9 abc" % PHP_INT_MAX);
22+
var_dump(" -1.2345e9 abc" % PHP_INT_MIN);
23+
var_dump(" 1.2345e9 abc" | 0);
24+
var_dump(" -1.2345e9 abc" | 0);
25+
26+
?>
27+
--EXPECTF--
28+
int(1234500000)
29+
int(-1234500000)
30+
int(1234500000)
31+
int(-1234500000)
32+
int(1234500000)
33+
int(-1234500000)
34+
int(1234500000)
35+
int(-1234500000)
36+
37+
int(1234500000)
38+
int(-1234500000)
39+
int(1234500000)
40+
int(-1234500000)
41+
42+
Notice: A non well formed numeric value encountered in %s on line %d
43+
int(1234500000)
44+
45+
Notice: A non well formed numeric value encountered in %s on line %d
46+
int(-1234500000)
47+
48+
Notice: A non well formed numeric value encountered in %s on line %d
49+
int(1234500000)
50+
51+
Notice: A non well formed numeric value encountered in %s on line %d
52+
int(-1234500000)

0 commit comments

Comments
 (0)