Branch Coverage

blib/lib/Class/Declare.pm
Criterion Covered Total %
branch 171 200 85.5


line true false branch
609 1 211 if exists $__DECL__{$class}
622 5 204 unless not defined $_args->{'init'} or ref $_args->{'init'} eq 'CODE'
626 25 179 if defined $ref
630 1 203 if (defined $new)
632 0 1 unless ref $new
633 0 1 unless ref $new eq 'ARRAY'
640 8 196 if (defined $friends)
642 3 5 unless ref $friends
643 0 8 unless ref $friends eq 'ARRAY'
654 21 183 if (defined $strict)
664 24 102 $strict ? :
679 1140 288 unless defined $ref
682 281 7 if ref $ref and ref $ref eq 'HASH'
687 5 2 unless ref $ref
690 2 5 if ref $ref eq 'ARRAY'
693 0 7 unless ref $ref eq 'HASH'
711 1139 288 unless defined $ref
721 1 390 if exists $_{$attr}
732 1 202 if (defined $new)
735 0 0 @unknown == 1 ? :
0 1 if @unknown
742 0 0 @class == 1 ? :
0 1 if @class
757 1129 286 unless defined $ref
762 141 145 unless ($__INSTANCE__{$_})
766 0 148 if $class->has($method)
773 1 147 if 'Class::Declare'->has($method)
791 5 142 if (/^abstract$/)
797 6 21 if (ref $value and $value =~ /=/o and $value->isa('Class::Declare::Read'))
816 6 24 if @_
824 3 139 $write ? :
836 0 241 if $class->has($method)
843 1 240 if 'Class::Declare'->has($method)
859 6 22 if (ref $value and $value =~ /=/o and $value->isa('Class::Declare::Read'))
880 144 9361 unless (ref $self and $hash = $__OBJECTS__{${$self;}})
886 1043 8318 if @_
897 0 10 unless (ref $self and $hash = $__OBJECTS__{${$self;}})
904 237 3 $write ? :
925 284 1123 if (my(@attr) = keys %{$$_args{$type};}) { }
938 0 201 if (UNIVERSAL::isa($class, $cda))
940 0 0 if defined $ref
1030 0 1259 unless my $pkg = $isa[$i++]
1053 799 324 unless exists $__DECL__{$isa}
1066 5 319 ref $self ? :
1079 75 53 if ($vtype and $vtype ne 'CODE' and $__INSTANCE__{$type})
1115 7 1116 defined $__NEW__{$_[0]} ? :
1125 7 298 if ($@)
1150 2 47 unless ($__INIT__{$pkg}->($obj))
1211 4619 0 if defined $_[1] and $_[1]->isa($_[0])
1246 633 0 if (defined $_[1])
1248 485 148 if $_[1]->isa($class) and $pkg eq $class
1252 36 112 if $class->isa($pkg)
1258 38 74 if (my $ref = $__FRIEND__{$class})
1260 20 18 if exists $ref->{$pkg} or exists $ref->{$caller}
1305 726 0 if (defined $_[1])
1307 620 106 if $_[1]->isa($_[0]) and $pkg->isa($_[0])
1311 36 70 if $class->isa($pkg)
1318 34 36 if (my $ref = $__FRIEND__{$class})
1320 20 14 if exists $ref->{$pkg} or exists $ref->{$caller}
1377 4544 256 if defined $_[1] and ref $_[1] and $_[1]->isa($_[0])
1413 17288 64 if (defined $_[1] and ref $_[1])
1415 17190 98 if $_[1]->isa($class) and $pkg eq $class
1419 24 74 if $class->isa($pkg)
1425 26 48 if (my $ref = $__FRIEND__{$class})
1427 12 14 if exists $ref->{$pkg} or exists $ref->{$caller}
1465 387 64 if (defined $_[1] and ref $_[1])
1467 317 70 if $_[1]->isa($_[0]) and $pkg->isa($_[0])
1471 24 46 if $class->isa($pkg)
1478 22 24 if (my $ref = $__FRIEND__{$class})
1480 12 10 if exists $ref->{$pkg} or exists $ref->{$caller}
1682 0 12 unless (&Storable::is_storing())
1702 12 0 if ($cloning)
1718 47 9 unless ref $value and ref $value eq 'CODE'
1745 8 4 defined $code ? :
1763 0 12 unless (&Storable::is_retrieving())
1775 0 12 unless (ref $hash eq 'HASH')
1788 8 4 if ($cloning and defined $code)
1854 0 102 if $class eq $self
1859 36 66 unless defined $friend
1984 130 0 unless ref $self and $hash = $__OBJECTS__{${$self;}} and return $hash
2120 2 653 unless @_
2128 4 649 unless (ref $args and ref $args eq 'ARRAY')
2138 1 648 if (scalar(@{$args;}) % 2)
2150 646 2 if (defined $default)
2152 2 644 unless ref $default
2154 213 433 if ref $default eq 'ARRAY'
2159 2 644 unless (ref $default eq 'HASH')
2169 653 12 if exists $default->{$_}
2185 299 335 wantarray ? :
2228 3 7 unless $revision
2234 0 7 unless $revision =~ /\$$target:\s*(\S+)\s*\$/o
2239 0 7 unless $revision =~ /^\d/o
2264 6 6 unless defined $version
2265 10 2 if defined $version
2268 8 4 if (defined $_[0])
2277 1 7 unless defined $version
2283 1 6 if ($@)
2292 2 4 unless $required <= $version
2298 7 1 defined $version ? :
2315 0 784 unless (my $method = shift())