blib/lib/VSO.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 37 | 60 | 61.6 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
43 | 0 | 22 | 0 | $args{'extends'} and not ref $args{'extends'} |
97 | 0 | 55 | 6 | $$props{'required'} and not defined $value |
55 | 2 | 4 | $$props{'required'} and not defined $value and not $$props{'default'} | |
52 | 3 | 2 | $$props{'default'} and not defined $value | |
117 | 52 | 0 | 0 | $$props{'where'} and defined $value |
146 | 0 | 0 | 0 | $$props{'required'} and defined $original_value |
154 | 25 | 2 | 14 | $$props{'coerce'} && exists $$_coercions{$wanted_type}{$current_type} |
344 | 18 | 0 | 0 | not defined $$s{$name} and $$props{'default'} |
line | l | !l | condition |
---|---|---|---|
42 | 0 | 22 | $args{'extends'} ||= [] |
72 | 16 | 17 | $$meta{'field_names'} ||= [sort(keys %{$$meta{'fields'};})] |
203 | 3 | 0 | eval { do { ': ' . $$props{'isa'}->message($s) } } || '' |
250 | 0 | 2 | $$meta{'triggers'}{"before.$name"} ||= [] |
278 | 0 | 2 | $$meta{'triggers'}{"after.$name"} ||= [] |
304 | 26 | 3 | $properties{'isa'} ||= 'Any' |
489 | 180 | 9 | $args{'as'} ||= '' |
518 | 182 | 0 | $args{'where'} || sub { 1; } |
179 | 3 | $args{'message'} || sub { "Must be a valid '${name}'"; } |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
46 | 0 | 22 | 0 | $$_meta{$caller} ||= _new_meta() |
154 | 4 | 17 | 41 | $wanted_type eq 'Any' or $current_type->isa($wanted_type) |
245 | 2 | 4 | 0 | exists $$meta{'fields'}{$name} or $class->can($name) |
273 | 2 | 4 | 0 | exists $$meta{'fields'}{$name} or $class->can($name) |
473 | 4 | 0 | 0 | defined @{"${class}::ISA";} or $INC{$file} |
475 | 0 | 4 | 0 | $INC{$file} ||= $file |