Branch Coverage

blib/lib/Sub/Meta/Parameters.pm
Criterion Covered Total %
branch 116 116 100.0


line true false branch
24 260 36 @args == 1 ? :
27 161 133 if exists $args{'args'}
28 19 275 if defined $args{'invocant'}
29 237 57 if defined $args{'nshift'}
30 24 270 if defined $args{'slurpy'}
39 531 1269 $self->has_invocant ? :
48 20 10 &Scalar::Util::blessed($v) && $v->isa('Sub::Meta::Param') ? :
63 2 256 unless (defined $v and $v == 0 || $v == 1)
69 40 216 if ($v == 1 and not defined $self->invocant)
74 1 255 if ($v == 0 and defined $self->invocant)
84 57 7 &Scalar::Util::blessed($v) && $v->isa('Sub::Meta::Param') ? :
92 15 49 if ($self->nshift == 0)
102 3 175 unless @args == 1 and ref $args
105 165 10 if (ref $args eq 'ARRAY') { }
5 5 elsif (ref $args eq 'HASH') { }
112 2 3 $f ? :
125 79 77 &Scalar::Util::blessed($_) && $_->isa('Sub::Meta::Param') ? :
139 55 33 if $_->positional
140 25 11 if $_->positional
143 22 30 if $_->named
144 11 15 if $_->named
156 10 35 if $self->slurpy or @{$self->named;}
166 2 79 unless &Scalar::Util::blessed($other) and $other->isa("Sub::Meta::Parameters")
168 11 68 if ($self->has_slurpy) { }
169 3 8 unless $self->slurpy->is_same_interface($other->slurpy)
172 3 65 if $other->has_slurpy
175 6 67 unless $self->nshift == $other->nshift
177 13 54 unless @{$self->all_args;} == @{$other->all_args;}
180 13 25 unless $self->all_args->[$i]->is_same_interface($other->all_args->[$i])
189 2 85 unless &Scalar::Util::blessed($other) and $other->isa("Sub::Meta::Parameters")
191 11 74 if ($self->has_slurpy)
192 3 8 unless $self->slurpy->is_same_interface($other->slurpy)
195 6 76 unless $self->nshift == $other->nshift
197 6 70 unless @{$self->all_args;} <= @{$other->all_args;}
200 11 38 unless $self->all_args->[$i]->is_relaxed_same_interface($other->all_args->[$i])
213 2 18 $self->has_slurpy ? :
234 2 22 if $self->has_slurpy
251 2 23 unless &Scalar::Util::blessed($other) and $other->isa("Sub::Meta::Parameters")
254 3 20 if ($self->has_slurpy) { }
255 1 1 $other->has_slurpy ? :
2 1 unless $self->slurpy->is_same_interface($other->slurpy)
259 1 19 if $other->has_slurpy
262 3 17 unless $self->nshift == $other->nshift
266 4 13 unless @{$self->all_args;} == @{$other->all_args;}
271 5 5 unless $s->is_same_interface($o)
281 2 23 unless &Scalar::Util::blessed($other) and $other->isa("Sub::Meta::Parameters")
284 3 20 if ($self->has_slurpy)
285 1 1 $other->has_slurpy ? :
2 1 unless $self->slurpy->is_same_interface($other->slurpy)
289 3 18 unless $self->nshift == $other->nshift
293 3 15 unless @{$self->all_args;} <= @{$other->all_args;}
298 5 5 unless $s->is_relaxed_same_interface($o)
308 4 32 if ($self->has_invocant)
310 1 3 if $d
313 24 12 if ($self->has_args)
317 3 33 if ($self->has_slurpy)
318 1 2 if $s
322 11 1 unless ($self->has_args or $self->has_slurpy)