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   5355 "0+" => sub { ${$_[0]} },
  4         8  
5 0     0   0 "++" => sub { $_[0] = ${$_[0]} + 1 },
  0         0  
6 0     0   0 "--" => sub { $_[0] = ${$_[0]} - 1 },
  0         0  
7 19     19   665314 fallback => 1;
  19         15709  
  19         196  
8             1;
9              
10              
11             package JSON::SL;
12 19     19   1976 use warnings;
  19         40  
  19         542  
13 19     19   94 use strict;
  19         42  
  19         641  
14             our $VERSION;
15 19     19   128 use base qw(Exporter);
  19         38  
  19         3229  
16             our @EXPORT_OK = qw(decode_json unescape_json_string);
17              
18             BEGIN {
19 19     19   71 $VERSION = '1.0.7';
20 19         94 require XSLoader;
21 19         11151 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 2978 my ($self,$c) = @_;
30 2 50       6 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       6 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__