Index: third_party/JSON/JSON-2.59/t/07_pc_esc.t |
diff --git a/third_party/JSON/JSON-2.59/t/07_pc_esc.t b/third_party/JSON/JSON-2.59/t/07_pc_esc.t |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e6153b8fe3cce4a587ecd19ab421b4b627099186 |
--- /dev/null |
+++ b/third_party/JSON/JSON-2.59/t/07_pc_esc.t |
@@ -0,0 +1,93 @@ |
+# |
+# このファイルのエンコーディングはUTF-8 |
+# |
+ |
+# copied over from JSON::PC and modified to use JSON |
+# copied over from JSON::XS and modified to use JSON |
+ |
+use Test::More; |
+use strict; |
+ |
+BEGIN { plan tests => 17 }; |
+ |
+BEGIN { $ENV{PERL_JSON_BACKEND} = "JSON::backportPP"; } |
+ |
+BEGIN { |
+ use lib qw(t); |
+ use _unicode_handling; |
+} |
+ |
+ |
+use utf8; |
+use JSON; |
+ |
+######################### |
+my ($js,$obj,$str); |
+ |
+my $pc = new JSON; |
+ |
+$obj = {test => qq|abc"def|}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\"def"}|); |
+ |
+$obj = {qq|te"st| => qq|abc"def|}; |
+$str = $pc->encode($obj); |
+is($str,q|{"te\"st":"abc\"def"}|); |
+ |
+$obj = {test => qq|abc/def|}; # / => \/ |
+$str = $pc->encode($obj); # but since version 0.99 |
+is($str,q|{"test":"abc/def"}|); # this handling is deleted. |
+$obj = $pc->decode($str); |
+is($obj->{test},q|abc/def|); |
+ |
+$obj = {test => q|abc\def|}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\\\\def"}|); |
+ |
+$obj = {test => "abc\bdef"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\bdef"}|); |
+ |
+$obj = {test => "abc\fdef"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\fdef"}|); |
+ |
+$obj = {test => "abc\ndef"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\ndef"}|); |
+ |
+$obj = {test => "abc\rdef"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\rdef"}|); |
+ |
+$obj = {test => "abc-def"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc-def"}|); |
+ |
+$obj = {test => "abc(def"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc(def"}|); |
+ |
+$obj = {test => "abc\\def"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"abc\\\\def"}|); |
+ |
+ |
+$obj = {test => "あいうえお"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"test":"あいうえお"}|); |
+ |
+$obj = {"あいうえお" => "かきくけこ"}; |
+$str = $pc->encode($obj); |
+is($str,q|{"あいうえお":"かきくけこ"}|); |
+ |
+ |
+$obj = $pc->decode(q|{"id":"abc\ndef"}|); |
+is($obj->{id},"abc\ndef",q|{"id":"abc\ndef"}|); |
+ |
+$obj = $pc->decode(q|{"id":"abc\\\ndef"}|); |
+is($obj->{id},"abc\\ndef",q|{"id":"abc\\\ndef"}|); |
+ |
+$obj = $pc->decode(q|{"id":"abc\\\\\ndef"}|); |
+is($obj->{id},"abc\\\ndef",q|{"id":"abc\\\\\ndef"}|); |
+ |