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 16     16   109 use strictures 1;
  16         231  
  16         395  
4 16     16   1054 use Scalar::Util ();
  16         33  
  16         3758  
5              
6             sub new {
7 577     577 0 1003 my ($class, $args) = @_;
8 577   100     2344 ($args||={})->{zconfig} ||= do {
      66        
9 189         2073 require HTML::Zoom::ZConfig;
10 189         730 HTML::Zoom::ZConfig->new
11             };
12 577         1836 my $new = { _zconfig => $args->{zconfig} };
13 577         1629 Scalar::Util::weaken($new->{_zconfig});
14 577         2425 bless($new, $class)
15             }
16              
17 1689     1689   7613 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;