forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinf_nan_error.phpt
45 lines (35 loc) · 906 Bytes
/
inf_nan_error.phpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
--TEST--
An error is thrown when INF or NaN are encoded
--SKIPIF--
<?php if (!extension_loaded("json")) print "skip"; ?>
--FILE--
<?php
$inf = INF;
var_dump($inf);
var_dump(json_encode($inf));
var_dump(json_last_error(), json_last_error_msg());
var_dump(json_encode($inf, JSON_PARTIAL_OUTPUT_ON_ERROR));
var_dump(json_last_error(), json_last_error_msg());
echo "\n";
$nan = NAN;
var_dump($nan);
var_dump(json_encode($nan));
var_dump(json_last_error(), json_last_error_msg());
var_dump(json_encode($nan, JSON_PARTIAL_OUTPUT_ON_ERROR));
var_dump(json_last_error(), json_last_error_msg());
?>
--EXPECTF--
float(INF)
bool(false)
int(7)
string(34) "Inf and NaN cannot be JSON encoded"
string(1) "0"
int(7)
string(34) "Inf and NaN cannot be JSON encoded"
float(NAN)
bool(false)
int(7)
string(34) "Inf and NaN cannot be JSON encoded"
string(1) "0"
int(7)
string(34) "Inf and NaN cannot be JSON encoded"