File Coverage

blib/lib/JSON/SL.pm
Criterion Covered Total %
statement 22 32 68.7
branch 2 4 50.0
condition n/a
subroutine 7 10 70.0
pod 0 1 0.0
total 31 47 65.9


line stmt bran cond sub pod time code
1             package JSON::SL::Boolean;
2              
3             use overload
4 4     4   4831 "0+" => sub { ${$_[0]} },
  4         7  
5 0     0   0 "++" => sub { $_[0] = ${$_[0]} + 1 },
  0         0  
6 0     0   0 "--" => sub { $_[0] = ${$_[0]} - 1 },
  0         0  
7 16     16   157288 fallback => 1;
  16         11197  
  16         144  
8             1;
9              
10              
11             package JSON::SL;
12 16     16   1233 use warnings;
  16         22  
  16         354  
13 16     16   77 use strict;
  16         19  
  16         435  
14             our $VERSION;
15 16     16   51 use base qw(Exporter);
  16         17  
  16         1792  
16             our @EXPORT_OK = qw(decode_json unescape_json_string);
17              
18             BEGIN {
19 16     16   22 $VERSION = '0.0_5';
20 16         55 require XSLoader;
21 16         9241 XSLoader::load(__PACKAGE__, $VERSION);
22             }
23              
24             sub CLONE_SKIP {
25 0     0   0 return 1;
26             }
27              
28             sub unescape_settings {
29 2     2 0 1599 my ($self,$c) = @_;
30 2 50       5 if (!defined $c) {
31 0         0 require JSON::SL::EscapeTH;
32 0         0 my $ret = {};
33 0         0 tie(%$ret, 'JSON::SL::EscapeTH', $self);
34 0         0 return $ret;
35             } else {
36 2         3 $c = ord($c);
37 2 50       4 if (@_ == 3) {
38 2         10 return $self->_escape_table_chr($c, $_[2]);
39             } else {
40 0           return $self->_escape_table_chr($c);
41             }
42             }
43             }
44              
45             1;
46              
47             __END__