Branch Coverage

lib/Types/Standard/Dict.pm
Criterion Covered Total %
branch 131 160 81.8


line true false branch
43 9 0 if Types::TypeTiny::is_TypeTiny($_[0])
48 0 3 unless Types::TypeTiny::is_ArrayLike($of)
51 0 3 @of_copy % 2 ? :
56 0 3 if defined $slurpy
63 0 3 $type->has_coercion ? :
0 3 exists $values->{'where'} ? :
69 0 3 $INC{'Type/Registry.pm'} ? :
3 0 unless ref $caller or $caller eq "-lexical" or $globals->{'lexical'}
76 1 141 if @_ % 2
79 136 236 unless @array
85 21 46 @_ && Types::TypeTiny::is_TypeTiny($_[-1]) && $_[-1]->is_strictly_a_type_of($_Slurpy) ? :
98 1 106 unless Types::TypeTiny::is_TypeTiny($v)
102 1 105 unless Types::TypeTiny::is_StringLike($k)
110 86 38 if ($slurpy) { }
111 136 57 exists $constraints{$_} ? :
113 22 64 unless $slurpy->check(\%tmp)
119 10 17 $is_optional{$k} ? :
27 126 unless exists $value->{$k}
120 39 87 unless $constraints{$k}->check($value->{$k})
131 21 43 @_ && Types::TypeTiny::is_TypeTiny($_[-1]) && $_[-1]->is_strictly_a_type_of($_Slurpy) ? :
137 0 64 if $slurpy and not $slurpy->can_be_inlined
158 3 100 unless $c->can_be_inlined
189 30 272 $slurpy ? :
171 302 $slurpy_is_map ? :
45 473 $slurpy_is_any ? :
197 218 640 if ($constraints{$_}->is_strictly_a_type_of($_optional)) { }
210 0 8 @params && Types::TypeTiny::is_TypeTiny($params[-1]) && $params[-1]->is_strictly_a_type_of($_Slurpy) ? :
229 2 13 if $constraints{$k}->has_parent and $constraints{$k}->parent == &Types::Standard::Optional() and not exists $value->{$k}
230 9 5 if $constraints{$k}->check($value->{$k})
235 3 2 unless exists $value->{$k}
253 0 3 if ($slurpy) { }
254 0 0 if (exists $constraints{$_}) { }
259 0 0 if $explain
273 3 3 unless exists $constraints{$k}
285 6 26 @_ && Types::TypeTiny::is_TypeTiny($_[-1]) && $_[-1]->is_strictly_a_type_of($_Slurpy) ? :
297 1 58 unless $tc->can_be_inlined
298 6 53 if $tc->has_coercion and not $tc->coercion->can_be_inlined
299 27 32 if $tc->has_coercion
301 0 32 if $slurpy and not $slurpy->can_be_inlined
302 1 5 if $slurpy and $slurpy->has_coercion and not $slurpy->coercion->can_be_inlined
307 4 28 if $slurpy and $slurpy->has_coercion
308 14 18 unless $child_coercions_exist
310 12 6 if ($all_inlinable) { }
316 0 4 unless length $b <=> length $a
323 4 7 if ($slurpy) { }
329 3 1 if ($slurpy->has_coercion) { }
363 18 2 $ct_coerce ? :
391 7 0 @_ ? :
394 3 4 if ($slurpy) { }
395 3 4 exists $dict{$_} ? :
398 1 2 if ($slurpy->check(\%slurped)) { }
1 1 elsif ($slurpy->has_coercion) { }
403 1 0 $slurpy->check($coerced) ? :
411 0 8 unless exists $dict{$k}
416 2 10 if $is_optional{$k} and not exists $value->{$k}
419 7 3 $ct->has_coercion ? :
421 0 10 unless $ct->check($x)
437 0 97 if $self == &Types::Standard::Dict()
440 99 0 if $_->has_parent
442 63 34 @{$dict->parameters;} && Types::TypeTiny::is_TypeTiny($dict->parameters->[-1]) && $dict->parameters->[-1]->is_strictly_a_type_of($_Slurpy) ? :
453 6 69 if $self == &Types::Standard::Dict()
456 92 0 if $_->has_parent
459 47 22 if ($slurpy) { }
470 23 46 if exists $params{$key}
471 14 32 unless $slurpy
473 6 20 if $slurpy == &Types::Standard::Any() or $slurpy == &Types::Standard::Item() or $slurpy == &Types::Standard::Defined() or $slurpy == &Types::Standard::Ref()
478 18 2 if $slurpy->is_a_type_of(&Types::Standard::HashRef())
487 2 16 unless $self->my_hashref_allows_key($key)
488 0 16 if $self == &Types::Standard::Dict()
491 18 0 if $_->has_parent
494 12 4 if ($slurpy) { }
505 6 10 if exists $params{$key} and $params{$key}->check($value)
506 2 8 unless $slurpy
508 0 8 if $slurpy == &Types::Standard::Any() or $slurpy == &Types::Standard::Item() or $slurpy == &Types::Standard::Defined() or $slurpy == &Types::Standard::Ref()
513 8 0 if $slurpy->is_a_type_of(&Types::Standard::HashRef())
525 0 8 unless Types::TypeTiny::is_TypeTiny($dict) and $dict->is_a_type_of(&Types::Standard::Dict())
529 2 6 if (my $s = $dict->my_dict_is_slurpy) { }
540 5 3 unless (exists $keys{$key})
550 2 3 if (@{$keys{$key};} == 1) { }
561 1 2 if (@slurpy)