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)
642 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 } }
715 0 0 86 blessed $@ and $@->isa('Salvation::TC::Exception::WrongType')
748 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(@_); } }]]
571 21 7 $$data{'max'} // ''

or 3 conditions

line l !l&&r !l&&!r condition
369 0 122 0 ref $self or $self
0 122 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 499 0 ref $self or $self
520 1 1 0 $self->get_type($name) // $self->setup_maybe_type($name, 'validator', $type->validator, 'base', $type)
530 14 37 0 $self->get_type($name) // $self->setup_parameterized_type($name, $$tokens[0]{'class'}, 'base', $base, 'validator', $base->validator, 'inner', $inner)
577 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) : (), 'base', $type)
608 0 9 0 $self->get_type($name) // $self->setup_union_type($name, 'types', \@types)
635 39 97 77 $self->get_type($str) // $self->get_type($salvation_tc_type_str)
642 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 } }
671 76 1 0 $validator // $self->gen_class_type_validator($str)
691 0 255 0 ref $self or $self
118 137 0 $cache{ref $self or $self}{$constraint} //= $self->parse_type($constraint)