File Coverage

blib/lib/HTML/Zoom/SubObject.pm
Criterion Covered Total %
statement 14 18 77.7
branch n/a
condition 4 5 80.0
subroutine 4 5 80.0
pod 0 2 0.0
total 22 30 73.3


line stmt bran cond sub pod time code
1             package HTML::Zoom::SubObject;
2              
3 15     15   89 use strictures 1;
  15         167  
  15         294  
4 15     15   843 use Scalar::Util ();
  15         20  
  15         2598  
5              
6             sub new {
7 573     573 0 708 my ($class, $args) = @_;
8 573   100     1692 ($args||={})->{zconfig} ||= do {
      66        
9 189         1812 require HTML::Zoom::ZConfig;
10 189         508 HTML::Zoom::ZConfig->new
11             };
12 573         1124 my $new = { _zconfig => $args->{zconfig} };
13 573         1196 Scalar::Util::weaken($new->{_zconfig});
14 573         1666 bless($new, $class)
15             }
16              
17 1687     1687   5109 sub _zconfig { shift->{_zconfig} }
18              
19             sub with_zconfig {
20 0     0 0   my ($self, $zconfig) = @_;
21 0           my $new = bless({ %$self, _zconfig => $zconfig }, ref($self));
22 0           Scalar::Util::weaken($new->{_zconfig});
23 0           $new
24             }
25              
26             1;