Condition Coverage

blib/lib/Salvation/TC.pm
Criterion Covered Total %
condition 39 76 51.3


and 3 conditions

line !l l&&!r l&&r condition
325 0 7 1 defined $_[0] and blessed($_[0])
7 0 1 defined $_[0] and blessed($_[0]) and $_[0]->isa($class)
656 1 76 0 not 'Class::Inspector'->loaded($str) || eval { do { &Module::Load::load($str); 1 } } and 'Class::Inspector'->loaded($salvation_tc_type_str) || eval { do { &Module::Load::load($salvation_tc_type_str); 1 } }
729 0 0 90 blessed $@ and $@->isa('Salvation::TC::Exception::WrongType')
762 0 0 0 blessed $@ and $@->isa('Salvation::TC::Exception::WrongType')

or 2 conditions

line l !l condition
131 73 4 $table //= [['Salvation::TC::Type', {'validator', sub { $self->gen_salvation_tc_type_validator(@_); } , 'signed_type_generator', sub { $self->gen_salvation_tc_type_signer(@_); } , 'length_type_generator', sub { $self->gen_salvation_tc_type_length_check(@_); } }]]
581 21 7 $$data{'max'} // ''

or 3 conditions

line l !l&&r !l&&!r condition
369 0 125 0 ref $self or $self
0 125 0 $TYPE{ref $self or $self}{$name} //= $self->simple_type_class_name->new(@rest, 'name', $name)
389 0 1 0 ref $self or $self
0 1 0 $TYPE{ref $self or $self}{$name} //= $self->maybe_type_class_name->new(@rest, 'name', $name)
409 0 9 0 ref $self or $self
0 9 0 $TYPE{ref $self or $self}{$name} //= $self->union_type_class_name->new(@rest, 'name', $name)
429 0 46 0 ref $self or $self
0 46 0 $TYPE{ref $self or $self}{$name} //= $class->new(@rest, 'name', $name)
454 0 512 0 ref $self or $self
521 1 1 0 $self->get_type($name) // $self->setup_maybe_type($name, 'validator', $type->validator, 'base', $type)
531 14 37 0 $self->get_type($name) // $self->setup_parameterized_type($name, $$tokens[0]{'class'}, 'base', $base, 'validator', $base->validator, 'inner', $inner, 'length_type_generator', $base->length_type_generator)
587 4 24 0 $self->get_type($name) // $self->$method($name, $method eq 'setup_parameterized_type' ? (ref $type, 'inner', $type->inner) : (), 'validator', $type->length_checker(@$data{'min', 'max'}), 'signed_type_generator', $type->signed_type_generator, $type->has_signature ? ('signature', $type->signature, 'options', $type->options) : (), 'base', $type)
622 0 9 0 $self->get_type($name) // $self->setup_union_type($name, 'types', \@types)
649 43 100 77 $self->get_type($str) // $self->get_type($salvation_tc_type_str)
656 1 0 76 'Class::Inspector'->loaded($str) || eval { do { &Module::Load::load($str); 1 } }
16 60 0 'Class::Inspector'->loaded($salvation_tc_type_str) || eval { do { &Module::Load::load($salvation_tc_type_str); 1 } }
685 76 1 0 $validator // $self->gen_class_type_validator($str)
705 0 256 0 ref $self or $self
116 140 0 $cache{ref $self or $self}{$constraint} //= $self->parse_type($constraint)