bug54058.phpt 973 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #54058 (json_last_error() invalid UTF-8 produces wrong error)
  3. --SKIPIF--
  4. <?php if (!extension_loaded("json")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $bad_utf8 = quoted_printable_decode('=B0');
  8. json_encode($bad_utf8);
  9. var_dump(json_last_error(), json_last_error_msg());
  10. $a = new stdclass;
  11. $a->foo = quoted_printable_decode('=B0');
  12. json_encode($a);
  13. var_dump(json_last_error(), json_last_error_msg());
  14. $b = new stdclass;
  15. $b->foo = $bad_utf8;
  16. $b->bar = 1;
  17. json_encode($b);
  18. var_dump(json_last_error(), json_last_error_msg());
  19. $c = array(
  20. 'foo' => $bad_utf8,
  21. 'bar' => 1
  22. );
  23. json_encode($c);
  24. var_dump(json_last_error(), json_last_error_msg());
  25. ?>
  26. --EXPECTF--
  27. int(5)
  28. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  29. int(5)
  30. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  31. int(5)
  32. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  33. int(5)
  34. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"