From 8d2a41273a56a33a291d292c1fbee03cce290694 Mon Sep 17 00:00:00 2001 From: Hyunjee Kim Date: Tue, 17 Mar 2020 09:38:42 +0900 Subject: Imported Upstream version 4.02 Change-Id: I549bbbd41e3db39e6fd6f2b1f2c4c94b94071018 Signed-off-by: Hyunjee Kim --- t/117_numbers.t | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 t/117_numbers.t (limited to 't/117_numbers.t') diff --git a/t/117_numbers.t b/t/117_numbers.t new file mode 100644 index 0000000..6eed93d --- /dev/null +++ b/t/117_numbers.t @@ -0,0 +1,24 @@ +use Test::More; +use strict; +BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } +BEGIN { $ENV{PERL_JSON_PP_USE_B} = 0 } +use JSON; + +BEGIN { plan skip_all => "requires $JSON::BackendModule 2.90 or newer" if JSON->backend->is_pp and eval $JSON::BackendModule->VERSION < 2.90 } +BEGIN { plan skip_all => "not for $JSON::BackendModule" if $JSON::BackendModule eq 'JSON::XS' } + +BEGIN { plan tests => 3 } + +# TODO ("inf"/"nan" representations are not portable) +# is encode_json([9**9**9]), '["inf"]'; +# is encode_json([-sin(9**9**9)]), '["nan"]'; + +my $num = 3; +my $str = "$num"; +is encode_json({test => [$num, $str]}), '{"test":[3,"3"]}'; +$num = 3.21; +$str = "$num"; +is encode_json({test => [$num, $str]}), '{"test":[3.21,"3.21"]}'; +$str = '0 but true'; +$num = 1 + $str; +is encode_json({test => [$num, $str]}), '{"test":[1,"0 but true"]}'; -- cgit v1.2.3