json_encode_u2028_u2029.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. json_encode() tests for U+2028, U+2029
  3. --SKIPIF--
  4. <?php if (!extension_loaded("json")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. var_dump(json_encode(array("a\xC3\xA1b")));
  8. var_dump(json_encode(array("a\xC3\xA1b"), JSON_UNESCAPED_UNICODE));
  9. var_dump(json_encode("a\xE2\x80\xA7b"));
  10. var_dump(json_encode("a\xE2\x80\xA7b", JSON_UNESCAPED_UNICODE));
  11. var_dump(json_encode("a\xE2\x80\xA8b"));
  12. var_dump(json_encode("a\xE2\x80\xA8b", JSON_UNESCAPED_UNICODE));
  13. var_dump(json_encode("a\xE2\x80\xA8b", JSON_UNESCAPED_LINE_TERMINATORS));
  14. var_dump(json_encode("a\xE2\x80\xA8b", JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_LINE_TERMINATORS));
  15. var_dump(json_encode("a\xE2\x80\xA9b"));
  16. var_dump(json_encode("a\xE2\x80\xA9b", JSON_UNESCAPED_UNICODE));
  17. var_dump(json_encode("a\xE2\x80\xA9b", JSON_UNESCAPED_LINE_TERMINATORS));
  18. var_dump(json_encode("a\xE2\x80\xA9b", JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_LINE_TERMINATORS));
  19. var_dump(json_encode("a\xE2\x80\xAAb"));
  20. var_dump(json_encode("a\xE2\x80\xAAb", JSON_UNESCAPED_UNICODE));
  21. ?>
  22. --EXPECT--
  23. string(12) "["a\u00e1b"]"
  24. string(8) "["aáb"]"
  25. string(10) ""a\u2027b""
  26. string(7) ""a‧b""
  27. string(10) ""a\u2028b""
  28. string(10) ""a\u2028b""
  29. string(10) ""a\u2028b""
  30. string(7) ""a
b""
  31. string(10) ""a\u2029b""
  32. string(10) ""a\u2029b""
  33. string(10) ""a\u2029b""
  34. string(7) ""a
b""
  35. string(10) ""a\u202ab""
  36. string(7) ""a‪b""