Branch Coverage

blib/lib/Beam/Wire.pm
Criterion Covered Total %
branch 134 158 84.8


line true false branch
129 5 20 unless $self->file
216 29 250 if ($name =~ m[/])
241 3 247 if (keys %override)
250 145 102 unless ($service)
254 2 143 unless ($config_ref)
263 136 7 if (ref $config_ref eq 'HASH' and $self->is_meta($config_ref, 1)) { }
266 124 5 if (not $config{'lifecycle'} or lc $config{'lifecycle'} ne 'factory')
297 1 1 if ($name =~ m[/])
317 4 203 if ($name =~ m[/])
360 163 15 unless grep {$meta{$_};} keys %$conf
364 19 7 if ($meta{$key}) { }
489 6 2 if (exists $service_info{'value'} and exists $service_info{'class'} || exists $service_info{'extends'})
499 2 142 if ($service_info{'value'})
503 7 135 if ($service_info{'config'})
505 2 5 if ($self->file)
511 2 133 unless ($service_info{'class'})
527 4 129 if (my $with = $service_info{'with'})
528 2 2 ref $with ? :
535 2 131 if (ref $method eq 'ARRAY') { }
541 2 2 defined $service ? :
543 3 1 !defined($service) || $return eq 'chain' ? :
549 1 130 if ($service_info{'class'}->can('DOES') and $service_info{'class'}->DOES('Beam::Service'))
555 7 125 if ($service_info{'on'})
559 1 6 if (ref $service_info{'on'} eq 'ARRAY') { }
6 0 elsif (ref $service_info{'on'} eq 'HASH') { }
564 1 5 if (ref $service_info{'on'}{$event} eq 'ARRAY') { }
577 1 8 if ($$conf{$meta{'method'}} and not $$conf{$meta{'sub'}})
614 37 154 if ($service_info{'extends'})
616 3 34 unless ($base_config_ref)
625 8 26 if (ref $service_info{'args'} eq 'HASH' and ref $base_config{'args'} eq 'HASH')
629 8 26 if ($args)
656 24 111 unless $args
658 20 91 if (ref $args eq 'ARRAY') { }
86 5 elsif (ref $args eq 'HASH') { }
664 8 78 if ($class->isa('Beam::Wire')) { }
669 2 6 if (exists $args{'file'} and not path($args{'file'})->is_absolute)
673 2 6 if ($config)
679 0 78 if (&blessed($maybe_ref)) { }
683 0 0 ref $maybe_ref eq 'ARRAY' ? :
78 0 ref $maybe_ref eq 'HASH' ? :
723 137 232 if (ref $arg eq 'HASH') { }
13 219 elsif (ref $arg eq 'ARRAY') { }
724 44 93 if ($self->is_meta($arg)) { }
725 36 8 if ($$arg{$meta{'ref'}}) { }
748 238 7 wantarray ? :
774 0 301 unless ref $arg eq 'HASH'
777 3 298 unless @keys
784 139 159 if $root and scalar @keys eq grep({$meta{$_};} @keys)
791 58 101 if grep {exists $arg->{$_};} map({$meta{$_};} 'ref', 'class', 'extends', 'config', 'value')
825 878 0 wantarray ? :
896 2 34 if (my $path = $$arg{$meta{'path'}}) { }
3 31 elsif (my $call = $$arg{$meta{'call'}}) { }
3 28 elsif (my $method = $$arg{$meta{'method'}}) { }
904 2 1 if (ref $call eq 'HASH') { }
908 1 1 ref $args eq 'ARRAY' ? :
0 2 !$args ? :
921 1 1 ref $args eq 'ARRAY' ? :
1 2 !$args ? :
952 9 13 if (ref $arg eq 'HASH') { }
3 10 elsif (ref $arg eq 'ARRAY') { }
953 6 3 if ($self->is_meta($arg, 1)) { }
957 3 7 if ($key =~ /(?:ref|extends)$/) { }
993 1 95 if ($self->file and not path($self->file)->exists)
1005 174 5 if (ref $config eq 'HASH')
1007 1 173 if ($lifecycle and $lifecycle eq 'eager')
1018 0 4 if $deprecated_warnings{$warning}
1033 1 26 if ($@)
1040 26 0 'HASH' eq ref $loader ? :
1053 0 5 if ($instantiate)
1054 0 0 if ($show_all_errors) { }
1058 0 0 if $@
1069 3 1 if (exists $config{'value'} and exists $config{'class'} || exists $config{'extends'})
1071 0 3 if ($show_all_errors)
1083 0 1 if ($config{'config'})
1085 0 0 if ($self->file)
1091 0 0 unless ($config{'value'} or $config{'class'} or $config{'extends'})
1095 0 1 if ($config{'class'})
1096 0 0 if $config{'class'}
1238 1 6 $file ? :