Condition Coverage

blib/lib/Avro/Schema.pm
Criterion Covered Total %
condition 78 120 65.0


and 3 conditions

line !l l&&!r l&&r condition
153 17 575 1313 $wtype eq $rtype and "Avro::Schema::Primitive"->is_type_valid($wtype)
158 589 0 3 $wtype eq "int" and $rtype eq 'float' || $rtype eq 'long' || $rtype eq 'double'
164 586 3 0 $wtype eq "long" and $rtype eq 'float' || $rtype eq 'double'
170 586 1 1 $wtype eq "float" and $rtype eq "double"
192 1 0 13 $reader->size eq $writer->size and $reader->fullname eq $writer->fullname
346 0 0 152 defined $name and length $name
350 111 0 41 defined $namespace and length $namespace
383 1 30 116 length $name and $name =~ /^[A-Za-z_][A-Za-z0-9_]*$/
388 33 31 52 defined $namespace and length $namespace
390 7 29 32 $_ and /^[A-Za-z_][A-Za-z0-9_]*$/
513 0 0 84 defined $name and length $name
517 0 0 84 defined $type and length $type
590 0 2 3 defined $data and exists $schema->{'hash_symbols'}{$data}
645 0 0 2 $default and ref $default eq "ARRAY"
676 0 0 17 defined $values and length $values
688 0 0 1 $default and ref $default eq "HASH"
785 0 0 11 defined $size and length $size
793 3 1 7 $size =~ /^\d+$/ and $size > 0
808 0 0 0 $default and $default->bytes::length == $size

or 2 conditions

line l !l condition
33 0 70 shift() || {}
34 0 70 shift() || ''
56 226 1 shift() || {}
57 24 203 shift() || ''
228 0 10 shift() || {}
270 2101 0 $_[1] or ""
343 152 0 $param{'names'} || {}
344 152 0 $param{'struct'} || {}
361 36 0 $_[1] or ""
368 151 1 $name || ''
437 23 112 $param{'names'} ||= {}
459 4 2 shift() || {}
503 6 0 shift() || {}
565 6 0 $struct->{'symbols'} || []
605 5 0 $schema->{'hash_symbols'} || {}
610 1 2 shift() || {}
656 6 0 shift() || {}
699 6 0 shift() || {}
717 16 0 $param{'names'} ||= {}
769 0 0 shift() || {}
819 1 0 shift() || {}

or 3 conditions

line l !l&&r !l&&!r condition
68 22 1 53 $type eq "record" or $type eq "error"
150 3 0 1905 $wtype eq "union" or $rtype eq "union"
158 2 1 0 $rtype eq 'float' || $rtype eq 'long' || $rtype eq 'double'
164 1 0 2 $rtype eq 'float' || $rtype eq 'double'
305 1 0 8 $type eq "float" or $type eq "double"
308 1 4 3 $type eq "bytes" or $type eq "string"
309 1 1 3 not defined $data or ref $data