File Coverage

blib/lib/PLS/JSON.pm
Criterion Covered Total %
statement 16 22 72.7
branch 1 4 25.0
condition 2 9 22.2
subroutine 4 5 80.0
pod 0 1 0.0
total 23 41 56.1


line stmt bran cond sub pod time code
1             package PLS::JSON;
2              
3 13     13   1115 use strict;
  13         27  
  13         598  
4 13     13   77 use warnings;
  13         25  
  13         1030  
5              
6 13     13   83 use Exporter qw(import);
  13         35  
  13         2948  
7              
8             my $package;
9              
10             BEGIN
11             {
12 13 50 66 13   114 if ($INC{'Cpanel/JSON/XS.pm'} or eval { require Cpanel::JSON::XS; 1 })
  11 0 0     13260  
  11   0     55662  
13             {
14 13         94 $package = 'Cpanel::JSON::XS';
15             }
16 0         0 elsif (($INC{'JSON/XS.pm'} or eval { require JSON::XS; 1 }) and eval { JSON::XS->VERSION(3.0); 1 })
  0         0  
17             {
18 0         0 $package = 'JSON::XS';
19             }
20             else
21             {
22 0         0 require JSON::PP;
23 0         0 $package = 'JSON::PP';
24             }
25              
26 13         1148 $package->import(qw(encode_json decode_json));
27              
28 13         118 *PLS::JSON::true = $package->can('true');
29 13         1604 *PLS::JSON::false = $package->can('false');
30             } ## end BEGIN
31              
32             our @EXPORT = qw(encode_json decode_json); ## no critic (ProhibitAutomaticExportation)
33              
34             sub new
35             {
36 0     0 0   return $package->new();
37             }
38              
39             1;