diff options
author | Andrea Faulds <ajf@ajf.me> | 2017-10-22 19:41:23 +0100 |
---|---|---|
committer | Andrea Faulds <ajf@ajf.me> | 2017-10-22 19:41:23 +0100 |
commit | e823770515bd0530bd3c09ea273c720b4df33734 (patch) | |
tree | 0d33cb3518feb5efa23114198ad9377d030e0900 /ext/json/tests/json_encode_exceptions.phpt | |
parent | d5127cec6ae020a23624a1d4e9da342a33d90cc0 (diff) | |
download | php-git-e823770515bd0530bd3c09ea273c720b4df33734.tar.gz |
Merge JSON_THROW_ON_ERROR
Diffstat (limited to 'ext/json/tests/json_encode_exceptions.phpt')
-rw-r--r-- | ext/json/tests/json_encode_exceptions.phpt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/json/tests/json_encode_exceptions.phpt b/ext/json/tests/json_encode_exceptions.phpt new file mode 100644 index 0000000000..7da2f9cdd0 --- /dev/null +++ b/ext/json/tests/json_encode_exceptions.phpt @@ -0,0 +1,56 @@ +--TEST-- +Test json_encode() function : JSON_THROW_ON_ERROR flag +--FILE-- +<?php + +try { + var_dump(json_encode("\x80", JSON_THROW_ON_ERROR)); +} catch (JsonException $e) { + var_dump($e); +} + +// JSON_PARTIAL_OUTPUT_ON_ERROR is incompatible with exceptions +// So it overrides it for the sake of working with wrappers that add the +// JSON_THROW_ON_ERROR flag +var_dump(json_encode("\x80", JSON_THROW_ON_ERROR | JSON_PARTIAL_OUTPUT_ON_ERROR)); +var_dump(json_last_error()); +var_dump(json_last_error_msg()); + +?> +--EXPECTF-- +object(JsonException)#1 (7) { + ["message":protected]=> + string(56) "Malformed UTF-8 characters, possibly incorrectly encoded" + ["string":"Exception":private]=> + string(0) "" + ["code":protected]=> + int(5) + ["file":protected]=> + string(%d) "%s" + ["line":protected]=> + int(%d) + ["trace":"Exception":private]=> + array(1) { + [0]=> + array(4) { + ["file"]=> + string(%d) "%s" + ["line"]=> + int(%d) + ["function"]=> + string(11) "json_encode" + ["args"]=> + array(2) { + [0]=> + string(1) "%s" + [1]=> + int(4194304) + } + } + } + ["previous":"Exception":private]=> + NULL +} +string(4) "null" +int(5) +string(56) "Malformed UTF-8 characters, possibly incorrectly encoded" |