Branch Coverage

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


line true false branch
34 75 86 @args == 1 ? :
38 17 144 if exists $args{'sub'}
39 55 106 if exists $args{'subname'}
40 1 160 if exists $args{'stashname'}
41 2 159 if exists $args{'fullname'}
43 11 150 if (my $is_method = $self->_normalize_args_is_method(\%args))
47 47 114 if (my $parameters = $self->_normalize_args_parameters(\%args))
51 22 139 if (exists $args{'returns'})
67 27 134 if (exists $args->{'parameters'}) { }
20 114 elsif (exists $args->{'args'}) { }
76 6 21 if $exists_is_method
87 7 13 if $exists_is_method
95 27 134 if (exists $args->{'parameters'}) { }
20 114 elsif (exists $args->{'args'}) { }
101 1 13 exists $self->{'is_method'} ? :
4 14 $self->is_method ? :
2 18 exists $args->{'nshift'} ? :
105 3 17 if exists $args->{'slurpy'}
106 2 18 if exists $args->{'invocant'}
107 7 13 if defined $nshift
119 18 21 if $self->has_stashname
120 17 22 if $self->has_subname
126 587 65 if $self->{'subinfo'}
173 9 5 $v =~ /^(.+)::([^:]+)$/ ? :
192 30 27 if (&Scalar::Util::blessed($v)) { }
193 29 1 if ($v->isa('Sub::Meta::Parameters')) { }
208 2 2 if ($self->has_parameters) { }
225 1 2 if ($self->is_method and $v == 0)
241 21 4 if (&Scalar::Util::blessed($v) and $v->isa('Sub::Meta::Returns')) { }
250 20 45 $self->sub ? :
251 20 18 $self->sub ? :
252 20 18 $self->sub ? :
253 28 18 $self->sub ? :
254 26 36 $self->sub ? :
255 22 36 $self->sub ? :
259 1 2 unless $self->sub
267 1 2 unless $self->sub
275 1 3 unless $self->sub
297 2 37 unless &Scalar::Util::blessed($other) and $other->isa('Sub::Meta')
299 23 14 if ($self->has_subname) { }
300 3 20 unless $self->subname eq $other->subname
303 4 10 if $other->has_subname
306 5 25 unless $self->is_method eq $other->is_method
308 12 13 if ($self->has_parameters) { }
309 4 8 unless $self->parameters->is_same_interface($other->parameters)
312 2 11 if $other->has_parameters
315 8 11 if ($self->has_returns) { }
316 3 5 unless $self->returns->is_same_interface($other->returns)
319 2 9 if $other->has_returns
328 2 37 unless &Scalar::Util::blessed($other) and $other->isa('Sub::Meta')
330 23 14 if ($self->has_subname)
331 3 20 unless $self->subname eq $other->subname
334 5 29 unless $self->is_method eq $other->is_method
336 14 15 if ($self->has_parameters)
337 5 9 unless $self->parameters->is_relaxed_same_interface($other->parameters)
340 10 14 if ($self->has_returns)
341 3 7 unless $self->returns->is_relaxed_same_interface($other->returns)
354 5 4 $self->has_subname ? :
359 3 6 $self->has_parameters ? :
362 2 7 $self->has_returns ? :
375 5 4 if $self->has_subname
379 3 6 if $self->has_parameters
381 2 7 if $self->has_returns
389 2 18 unless &Scalar::Util::blessed($other) and $other->isa('Sub::Meta')
392 7 11 if ($self->has_subname) { }
393 2 5 unless $self->subname eq $other->subname
397 1 10 if $other->has_subname
400 2 13 if ($self->is_method ne $other->is_method)
404 3 10 if ($self->has_parameters) { }
405 2 1 unless $self->parameters->is_same_interface($other->parameters)
409 1 9 if $other->parameters
412 3 7 if ($self->has_returns) { }
413 2 1 unless $self->returns->is_same_interface($other->returns)
417 1 6 if $other->returns
425 2 18 unless &Scalar::Util::blessed($other) and $other->isa('Sub::Meta')
428 7 11 if ($self->has_subname)
429 2 5 unless $self->subname eq $other->subname
433 2 14 if ($self->is_method ne $other->is_method)
437 3 11 if ($self->has_parameters)
438 2 1 unless $self->parameters->is_relaxed_same_interface($other->parameters)
442 3 9 if ($self->has_returns)
443 2 1 unless $self->returns->is_relaxed_same_interface($other->returns)
452 4 11 $self->is_method ? :
456 13 2 if $subname
457 11 4 if $self->parameters
458 3 12 if $self->returns