File: 117_numbers.t

package info (click to toggle)
libjson-perl 4.03000-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 604 kB
  • sloc: perl: 1,957; makefile: 2
file content (25 lines) | stat: -rw-r--r-- 850 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use Test::More;
use strict;
use warnings;
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"]}';