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 11     11   966 use strict;
  11         22  
  11         390  
4 11     11   121 use warnings;
  11         22  
  11         251  
5              
6 11     11   45 use Exporter qw(import);
  11         20  
  11         1813  
7              
8             our $package;
9              
10             BEGIN
11             {
12 11 50 66 11   68 if ($INC{'Cpanel/JSON/XS.pm'} or eval { require Cpanel::JSON::XS; 1 })
  10 0 0     7689  
  10   0     29478  
13             {
14 11         21 $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 11         327 $package->import(qw(encode_json decode_json));
27              
28 11         75 *PLS::JSON::true = $package->can('true');
29 11         723 *PLS::JSON::false = $package->can('false');
30             } ## end BEGIN
31              
32             our @EXPORT = qw(encode_json decode_json);
33              
34             sub new
35             {
36 0     0 0   return $package->new();
37             }
38              
39             1;