Branch Coverage

test/attr.pm
Criterion Covered Total %
branch 74 214 34.5


line true false branch
6 1 5 unless $type =~ /^(?:(?:ref)|(?:ref)?(?:array|hash)(?:boolean|integer|floating|string|sub_\w+|any|&\w+)|(?:ref)?(?:array|hash)|(?:array|hash)?(?:boolean|integer|floating|string|sub_\w+|any|&\w+))$/
0 0 if $tp2 =~ /^(?:obj|object)$/i
0 6 if ($type eq 'any' and $type0 =~ /^((?:ref\s*)?(?:array|hash) )?(\w+(?:(?:::|\.)\w+)*)$/)
1 5 $type =~ /^(?:array|hash)/ ? :
6 0 unless $Foo::CLASS_HPLOO{'ATTR'}{$name}
1 4 $parse_ref ? :
1 5 if ($type =~ /^sub_(\w+)$/) { }
6 0 unless defined &{"set_$name";}
6 0 unless defined &{"get_$name";}
0 0 if $_[0] =~ /^(?:false|null|undef)$/i
0 0 if $_[0]
1 1 unless ($val =~ /^\d+\.\d+$/)
0 0 if defined &$sub
2 0 if defined &$sub
0 0 if ref $val
0 0 if ref $val eq 'ARRAY'
0 0 if ref $val eq 'HASH'
1 0 $tp =~ /^(?:any|string|boolean|integer|floating|sub_\w+|&\w+)$/ ? :
0 0 unless CLASS_HPLOO_ATTR_TYPE($class, $tp, $_)
1 0 if ($accept_undef) { }
0 1 if ref $_[0] ne 'ARRAY'
0 0 if ref $_[0] ne 'HASH'
0 0 UNIVERSAL::isa($_[0], $type) ? :
1 8 if ($type eq 'any') { }
0 8 elsif ($type eq 'string') { }
0 8 elsif ($type eq 'boolean') { }
1 7 elsif ($type eq 'integer') { }
2 5 elsif ($type eq 'floating') { }
0 5 elsif ($type =~ /^sub_(\w+)$/) { }
2 3 elsif ($type =~ /^&(\w+)$/) { }
0 3 elsif ($type eq 'ref') { }
1 2 elsif ($type eq 'array') { }
0 2 elsif ($type eq 'hash') { }
0 2 elsif ($type eq 'refarray') { }
0 2 elsif ($type eq 'refhash') { }
1 1 elsif ($type =~ /^array(&?[\w:]+)/) { }
0 1 elsif ($type =~ /^hash(&?[\w:]+)/) { }
1 0 elsif ($type =~ /^refarray(&?[\w:]+)/) { }
0 0 elsif ($type =~ /^refhash(&?[\w:]+)/) { }
0 0 elsif ($type =~ /^\w+(?:::\w+)*$/) { }
6 0 unless exists $$this{$Key}
1 0 if ($Foo::CLASS_HPLOO{'ATTR'})
1 0 if defined &$sub
0 4 if (ref $$ref_changed ne 'HASH')
4 0 if ($ref_changed)
4 6 if ($$this{'tp'} =~ /^(?:ref)?(?:array|hash)/)
1 10 if ($$this{'tp'} =~ /^sub_(\w+)$/) { }
0 0 if $$stack{$isa_i}++
0 0 if $isa_i eq $class_end
0 0 $found ? :
0 0 if $only_stak
0 0 if $count > 100
0 0 $sub eq 'new' ? :
0 0 if (UNIVERSAL::isa($pack, 'Class::HPLOO::Base')) { }
0 0 if $isa_i eq $pack or $isa_i eq 'Class::HPLOO::Base'
0 0 if $isa_i eq 'UNIVERSAL'
0 0 if $isa_sub
0 0 if ($look_deep or not defined &$isa_sub)
0 0 unless defined &$isa_sub
0 1 if (ref $$ref_changed ne 'HASH')
1 0 if ($ref_changed)
0 0 $$this{'tp'} =~ /^ref/ ? :
0 1 if ($$this{'pr'}) { }
0 0 unless defined *{'Class::HPLOO::Base::';}
0 0 if $prev_pack eq 'Class::HPLOO::Base'
0 0 $sub0 =~ /^(.*?(?:::)?$sub)\::$sub$/ ? :
0 0 if $sub_is_new_hploo and $prev_pack and !ref($_[0]) && $_[0] ne $prev_pack && !UNIVERSAL::isa($_[0], $prev_pack) || ref $_[0] && !UNIVERSAL::isa($_[0], $prev_pack)
0 0 $sub_is_new_hploo ? :
0 0 if ($sub0 ne $isa_sub and not ref $_[0] and $isa_sub =~ /^(.*?(?:::)?$sub_name)\::$sub_name$/)
0 0 if (UNIVERSAL::isa($pk, 'Class::HPLOO::Base')) { }
0 0 if ($sub_is_new_hploo)
0 0 if $isa_sub
0 0 if ($sub0 eq $isa_sub and UNIVERSAL::isa($_[0], $pack))
0 0 if $isa_sub and defined &$isa_sub and $sub0 ne $isa_sub
0 0 if (defined @{"${pack}::ISA";})
0 0 $sub_is_new_hploo ? :
0 0 if "${pack}::$sub" eq $sub0
0 1 if (not $@) { }
1 0 unless (ref $$CLASS_HPLOO{'OBJ_TBL'})
1 9 if ($$this{'tp'} =~ /^sub_(\w+)$/)
0 0 if defined &call
0 0 ref $$this{'CLASS_HPLOO_ATTR'}{'list'} eq 'HASH' ? :
1 0 ref $$this{'CLASS_HPLOO_ATTR'}{'list'} eq 'ARRAY' ? :
0 0 if defined &{"${ISA_i}::new";}
0 1 if (not defined &Foo and @Foo::ISA > 1)
0 1 if ref $class
1 0 unless ref $this and UNIVERSAL::isa($this, $class)
1 0 if ($Foo::CLASS_HPLOO{'ATTR'})
1 0 defined &Foo ? :
0 0 if ($Foo::CLASS_HPLOO{'ATTR'} and UNIVERSAL::isa($this, 'HASH'))
0 1 if (ref $ret_this and UNIVERSAL::isa($ret_this, $class)) { }
0 1 elsif ($ret_this == $undef) { }
1 0 if $ISA_i eq 'Class::HPLOO::Base'
0 0 if defined &$sub
0 0 if UNIVERSAL::isa($ret, $class)
1 0 if $ISA_i eq 'Class::HPLOO::Base'
0 0 if defined &$sub
1 0 unless (defined $$this{'age'})
0 0 unless (defined $$this{'call'})
1 0 unless (defined $$this{'list'})
1 0 unless (defined $$this{'name'})
0 1 unless (defined $$this{'size'})
1 0 unless (defined $$this{'special'})
10 0 2 if defined $this
0 2 ref $_[0] && UNIVERSAL::isa($_[0], 'Foo') ? :
16 0 2 if defined $this
2 0 ref $_[0] && UNIVERSAL::isa($_[0], 'Foo') ? :