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   93 use strictures 1;
  15         199  
  15         339  
4 15     15   840 use Scalar::Util ();
  15         24  
  15         3050  
5              
6             sub new {
7 461     461 0 863 my ($class, $args) = @_;
8 461   100     2029 ($args||={})->{zconfig} ||= do {
      66        
9 167         2236 require HTML::Zoom::ZConfig;
10 167         669 HTML::Zoom::ZConfig->new
11             };
12 461         1326 my $new = { _zconfig => $args->{zconfig} };
13 461         1264 Scalar::Util::weaken($new->{_zconfig});
14 461         2007 bless($new, $class)
15             }
16              
17 1587     1587   7650 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;