Commit graph

61 commits

Author SHA1 Message Date
johannes
bcc87ba68e Revert change 3f3ad30c50: There shouldn't be new features in 5.3, especially
not if they aren't in 5.4, too.
2012-07-05 00:55:47 +02:00
Nikita Popov
250393f925 Revert JSON changes to PHP 5.3
This reverts the following commits:

974324676b
4662151ea7
84fe2cc890

This does not revert the JSON changes released in PHP 5.3.14.
2012-07-01 16:28:57 +02:00
Nikita Popov
974324676b Add json_last_error_msg() function
This replaces json_last_error(true) and is consistent with other custom
error handling functions.
2012-06-28 20:11:27 +02:00
Nikita Popov
4662151ea7 Improve JSON error handling
json_encode() no longer throws warnings. Instead only the error code for
json_last_error() is set.

As it is hard to debug the error from just an error code an optional
$as_string parameter was added to json_last_error(), which returns an
error message instead of an error code.
2012-06-27 12:21:48 +02:00
Nikita Popov
84fe2cc890 Improve json_encode error handling
json_encode() now returns bool(false) for all possible errors, throws the
respective warning and also sets the respective json_last_error() error
code. Three new error codes have been added:

  * JSON_ERROR_RECURSION
  * JSON_ERROR_INF_OR_NAN
  * JSON_ERROR_UNSUPPORTED_TYPE

To get a partial JSON output instead of bool(false) the option
JSON_PARTIAL_OUTPUT_ON_ERROR can be specified. In this case the invalid
segments will be replaced either by null (for recursion, unsupported type
and invalid JSON) or 0 (for Inf and NaN).

The warning for invalid UTF-8 stays intact and is thrown also with
display_errors = On. If this behavior is undesired this can be remedied
later.
2012-06-23 20:51:52 +02:00
Adam Harvey
3f3ad30c50 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:24:38 +08:00
Ilia Alshanetsky
199b52c1d4 Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects with numeric string properties) 2011-10-17 23:51:25 +00:00
Christopher Jones
52cc62d825 Remove duplicate lines present in PHP_5_3's .phpt (dtajchreber) 2011-06-17 21:42:40 +00:00
Ilia Alshanetsky
f4f2aa7583 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
Scott MacVicar
3242016f28 Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Ilia Alshanetsky
ea3a6539dc Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
numeric strings to integers.
2010-05-20 19:37:52 +00:00
Felipe Pena
4d571dee74 - Fixed tests 2010-04-03 15:42:42 +00:00
Rasmus Lerdorf
8af64e6f34 Fix broken json tests in all branches 2009-08-03 04:01:57 +00:00
Alexey Zakhlestin
3e326b91e7 fix tests corrupted by svn's eol-style=native 2009-07-15 13:44:14 +00:00
andy wharmby
a6735b8b24 New json extension tests. Tested on Windows, Linux and Linux 64 bit. 2009-06-14 12:08:27 +00:00
Scott MacVicar
a23b4073e8 MFH Missing skip in tests 2009-03-17 23:31:14 +00:00
Scott MacVicar
8d2a5cabec MFH Add PHP_JSON_FORCE_OBJECT for forcing an object output of an array 2009-03-17 23:15:40 +00:00
Scott MacVicar
07e675cc52 MFH Fix bug #47644 - Valid integers are truncated with json_decode() 2009-03-17 02:00:13 +00:00
andy wharmby
b2f1d92674 Fix tests. Add missing SKIPIF. Tested on Windows, Linux and Linux 64 2009-01-23 20:23:29 +00:00
Scott MacVicar
6fe58b3542 Fix test again... 2009-01-08 14:09:49 +00:00
Scott MacVicar
b08ceb79b3 Fix broken test 2009-01-08 13:35:58 +00:00
Scott MacVicar
0bdbc4e356 MFH Fix bug #46944 - UTF-8 characters outside the BMP aren't encoded correctly. 2009-01-02 03:02:22 +00:00
Scott MacVicar
fdf2d1e46f MFH Add json_last_error() for getting a bit of information about what failed during a decode, also fixes a segfault when we have [1}
[DOC]
2008-12-19 02:00:57 +00:00
Scott MacVicar
e5587ee4cc MFH Test for bug #45791 2008-12-17 14:46:47 +00:00
Scott MacVicar
ed5f04710b MFH Fix bug #45989 - json_decode() doesn't return NULL on certain invalid strings 2008-12-12 23:19:47 +00:00
Felipe Pena
83c0eb69ad - Fixed tests 2008-11-19 16:58:28 +00:00
Felipe Pena
3ecc545018 - New test 2008-10-02 03:36:52 +00:00
Rasmus Lerdorf
c6671a0596 Fix test to test higher nesting level 2008-07-31 11:46:23 +00:00
Antony Dovgal
0c01626f1c MFH 2008-02-15 09:20:25 +00:00
Stanislav Malyshev
b4443f35ff fix #43941: invalid utf-8 not accepted 2008-01-30 03:17:57 +00:00
Dmitry Stogov
ebf4cd30db Fixed test related to bug #38469 2007-12-28 13:23:00 +00:00
Sara Golemon
cce03434ef MFH (json.c r-1.32) Add support for encoding options 2007-12-17 07:48:27 +00:00
Ilia Alshanetsky
c3cf6cb069 Added test for bug #42785 2007-10-01 15:33:11 +00:00
Hannes Magnusson
e3b8cf0f66 MFH: Fixed bug#42090 (json_decode causes segmentation fault) 2007-07-24 22:57:13 +00:00
foobar
a074d2d66b typo 2007-06-29 14:01:11 +00:00
foobar
0f15eeda46 oops 2007-06-29 14:00:21 +00:00
foobar
ad0beee01f - Added missing SKIPIFs 2007-06-29 13:51:27 +00:00
Ilia Alshanetsky
9f28e21bb1 Fixed bug #41673 (json_encode breaks large numbers in arrays). 2007-06-13 17:07:58 +00:00
Ilia Alshanetsky
3b61fd8286 Update test 2007-06-11 15:07:40 +00:00
Antony Dovgal
76065b520a adjust test for 64bit 2007-06-08 08:40:28 +00:00
Antony Dovgal
e5be1f55ad fix test, add 64bit version 2007-06-08 08:34:48 +00:00
Ilia Alshanetsky
045b283a7d Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). 2007-06-04 23:51:32 +00:00
Ilia Alshanetsky
47216d7de4 Adjust tests to reflect the new expected output 2007-05-27 17:57:57 +00:00
Ilia Alshanetsky
faae3e9ecf Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
string keys).
2007-05-27 16:31:35 +00:00
Hannes Magnusson
ad57583ba4 This test should only test failures 2007-05-25 12:31:03 +00:00
Hannes Magnusson
993b66b4c8 Fix test after stack limit bump 2007-05-25 12:15:38 +00:00
Antony Dovgal
09a575a20f MFH: fix #41403 (json_decode cannot decode floats if localeconv decimal_point is not '.') 2007-05-16 12:54:30 +00:00
Antony Dovgal
66859a74de fix tests 2007-04-26 23:30:00 +00:00
Antony Dovgal
cb81428054 apply correct fix 2007-04-20 10:16:46 +00:00
Antony Dovgal
8deb6294ec fix test 2007-04-20 10:15:04 +00:00