🌌 SpectraShell
Current path:
home
/
.cpan
/
build
/
JSON-4.10-0
/
t
/
👤 Create WP Admin
⬆️
Go up: JSON-4.10-0
✏️ Editing: 08_pc_base.t
use Test::More; # copied over from JSON::PC and modified to use JSON # copied over from JSON::XS and modified to use JSON use strict; use warnings; BEGIN { plan tests => 20 }; BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } use JSON; my ($js,$obj); my $pc = JSON->new; $js = q|{}|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'{}', '{}'); $js = q|[]|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'[]', '[]'); $js = q|{"foo":"bar"}|; $obj = $pc->decode($js); is($obj->{foo},'bar'); $js = $pc->encode($obj); is($js,'{"foo":"bar"}', '{"foo":"bar"}'); $js = q|{"foo":""}|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'{"foo":""}', '{"foo":""}'); $js = q|{"foo":" "}|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'{"foo":" "}' ,'{"foo":" "}'); $js = q|{"foo":"0"}|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'{"foo":"0"}',q|{"foo":"0"} - autoencode (default)|); $js = q|{"foo":"0 0"}|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,'{"foo":"0 0"}','{"foo":"0 0"}'); $js = q|[1,2,3]|; $obj = $pc->decode($js); is($obj->[1],2); $js = $pc->encode($obj); is($js,'[1,2,3]'); $js = q|{"foo":{"bar":"hoge"}}|; $obj = $pc->decode($js); is($obj->{foo}->{bar},'hoge'); $js = $pc->encode($obj); is($js,q|{"foo":{"bar":"hoge"}}|); $js = q|[{"foo":[1,2,3]},-0.12,{"a":"b"}]|; $obj = $pc->decode($js); $js = $pc->encode($obj); is($js,q|[{"foo":[1,2,3]},-0.12,{"a":"b"}]|); $obj = ["\x01"]; is($js = $pc->encode($obj),'["\\u0001"]'); $obj = $pc->decode($js); is($obj->[0],"\x01"); $obj = ["\e"]; is($js = $pc->encode($obj), (ord("A") == 65) ? '["\\u001b"]' : '["\\u0027"]'); $obj = $pc->decode($js); is($obj->[0],"\e"); $js = '{"id":"}'; eval q{ $pc->decode($js) }; like($@, qr/unexpected end/i); $obj = { foo => sub { "bar" } }; eval q{ $js = $pc->encode($obj) }; like($@, qr/JSON can only/i, 'invalid value (coderef)'); #$obj = { foo => bless {}, "Hoge" }; #eval q{ $js = $pc->encode($obj) }; #like($@, qr/JSON can only/i, 'invalid value (blessd object)'); $obj = { foo => \$js }; eval q{ $js = $pc->encode($obj) }; like($@, qr/cannot encode reference/i, 'invalid value (ref)');
Save
📄
00_backend_version.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
00_load.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
00_load_backport_pp.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
01_utf8.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
02_error.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
03_types.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
04_dwiw_encode.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
05_dwiw_decode.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
06_pc_pretty.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
07_pc_esc.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
08_pc_base.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
09_pc_extra_number.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
10_pc_keysort.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
11_pc_expo.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
12_blessed.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
13_limit.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
14_latin1.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
15_prefix.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
16_tied.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
17_relaxed.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
18_json_checker.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
19_incr.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
20_faihu.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
20_unknown.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
21_evans.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
22_comment_at_eof.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
52_object.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
99_binary.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
104_sortby.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
105_esc_slash.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
106_allow_barekey.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
107_allow_singlequote.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
108_decode.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
109_encode.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
110_bignum.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
112_upgrade.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
113_overloaded_eq.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
114_decode_prefix.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
115_tie_ixhash.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
116_incr_parse_fixed.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
117_numbers.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
118_boolean_values.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
119_incr_parse_utf8.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
120_incr_parse_truncated.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e00_func.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e01_property.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e02_bool.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e03_bool2.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e11_conv_blessed_univ.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
e90_misc.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
gh_28_json_test_suite.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
gh_29_trailing_false_value.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rt_90071_incr_parse.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rt_116998_wrong_character_offset.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rt_122270_is_bool_for_obsolete_xs_boolean.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rt_122270_old_xs_boolean.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
x00_load.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
x02_error.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
x12_blessed.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
x16_tied.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
x17_strange_overload.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe04_escape_slash.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe05_indent_length.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe12_boolean.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe19_xs_and_suportbypp.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe20_croak_message.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xe21_is_pp.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zero-mojibake.t
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
Upload
📁
Create Folder