diff options
Diffstat (limited to 'ext/json/tests/json_decode_invalid_utf8.phpt')
| -rw-r--r-- | ext/json/tests/json_decode_invalid_utf8.phpt | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/ext/json/tests/json_decode_invalid_utf8.phpt b/ext/json/tests/json_decode_invalid_utf8.phpt index 725fe9be96..d92f785424 100644 --- a/ext/json/tests/json_decode_invalid_utf8.phpt +++ b/ext/json/tests/json_decode_invalid_utf8.phpt @@ -9,11 +9,17 @@ if (!extension_loaded("json")) print "skip"; function json_decode_invalid_utf8($str) { var_dump(json_decode($str)); var_dump(json_decode($str, true, 512, JSON_INVALID_UTF8_IGNORE)); - var_dump(bin2hex(json_decode($str, true, 512, JSON_INVALID_UTF8_SUBSTITUTE))); + $json = json_decode($str, true, 512, JSON_INVALID_UTF8_SUBSTITUTE); + if (is_array($json)) { + var_dump(array_map(function($item) { return bin2hex($item); }, $json)); + } else { + var_dump(bin2hex($json)); + } } json_decode_invalid_utf8("\"a\xb0b\""); json_decode_invalid_utf8("\"a\xd0\xf2b\""); json_decode_invalid_utf8("\"\x61\xf0\x80\x80\x41\""); +json_decode_invalid_utf8("[\"\xc1\xc1\",\"a\"]"); echo "Done\n"; ?> --EXPECT-- @@ -26,4 +32,17 @@ string(16) "61efbfbdefbfbd62" NULL string(2) "aA" string(22) "61efbfbdefbfbdefbfbd41" +NULL +array(2) { + [0]=> + string(0) "" + [1]=> + string(1) "a" +} +array(2) { + [0]=> + string(12) "efbfbdefbfbd" + [1]=> + string(2) "61" +} Done |
