| Index: third_party/JSON/JSON-2.59/t/e10_bignum.t
|
| diff --git a/third_party/JSON/JSON-2.59/t/e10_bignum.t b/third_party/JSON/JSON-2.59/t/e10_bignum.t
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5774f7d20ae3850d4434b8eebb0b4432e674dbf3
|
| --- /dev/null
|
| +++ b/third_party/JSON/JSON-2.59/t/e10_bignum.t
|
| @@ -0,0 +1,41 @@
|
| +
|
| +use strict;
|
| +use Test::More;
|
| +BEGIN { plan tests => 6 };
|
| +
|
| +BEGIN { $ENV{PERL_JSON_BACKEND} = "JSON::backportPP"; }
|
| +
|
| +use JSON -support_by_pp;
|
| +
|
| +eval q| require Math::BigInt |;
|
| +
|
| +SKIP: {
|
| + skip "Can't load Math::BigInt.", 6 if ($@);
|
| +
|
| + my $v = Math::BigInt->VERSION;
|
| + $v =~ s/_.+$// if $v;
|
| +
|
| +my $fix = !$v ? '+'
|
| + : $v < 1.6 ? '+'
|
| + : '';
|
| +
|
| +
|
| +my $json = new JSON;
|
| +
|
| +$json->allow_nonref->allow_bignum(1);
|
| +$json->convert_blessed->allow_blessed;
|
| +
|
| +my $num = $json->decode(q|100000000000000000000000000000000000000|);
|
| +
|
| +isa_ok($num, 'Math::BigInt');
|
| +is("$num", $fix . '100000000000000000000000000000000000000');
|
| +is($json->encode($num), $fix . '100000000000000000000000000000000000000');
|
| +
|
| +$num = $json->decode(q|2.0000000000000000001|);
|
| +
|
| +isa_ok($num, 'Math::BigFloat');
|
| +is("$num", '2.0000000000000000001');
|
| +is($json->encode($num), '2.0000000000000000001');
|
| +
|
| +
|
| +}
|
|
|