Branch Coverage

blib/lib/YAMLScript/Reader.pm
Criterion Covered Total %
branch 161 278 57.9


line true false branch
5 11 0 if eval "use warnings 'experimental::signatures'; 1"
36 7 72 if ($read_ys) { }
55 0 57 $file ? :
113 149 390 if ($event->{'name'} eq "scalar_event")
118 0 2 $style == 4 ? :
147 2 $style == 1 ? :
181 109 12 if is_val($n)
182 87 0 if is_val($n)
183 85 0 if is_val($n)
185 0 0 unless is_map($n) and pairs($n) == 1
189 0 0 if is_single($n)
192 2 12 if is_map($n)
194 0 171 unless is_map($n)
195 0 72 unless is_seq($n)
196 0 35 unless is_val($n)
197 0 57 unless is_pair($n)
198 0 12 unless @{$n->elem;} > 0
199 0 2 unless @{$n->pair;} > 0
213 56 1 @ast == 1 ? :
221 0 0 if (need_main_call($ast))
238 55 180 is_pair($n) ? :
239 0 235 unless $tag
245 0 0 "$n" eq 'false' ? :
0 0 "$n" eq 'true' ? :
252 0 34 unless "$k" =~ /^($sym)($bp?)$/
255 11 23 if ($args)
256 0 11 unless $args =~ s/^\((.*)\)$/$1/
259 0 34 if $fn eq "main"
262 24 10 unless is_seq($v)
268 0 5 unless "$k" =~ /^($sym)\s*=$/
281 3 9 if ($sig =~ s/^\*($sym)//) { }
285 1 8 if ($sig =~ /^($sym)=/)
294 0 12 if length $sig
307 0 1 unless text($k) =~ /^(defn|defmacro)\s+($sym)$/
326 4 8 if ($m) { }
327 0 4 unless text($k) =~ /^($sym?)?\((.*)\)$/
332 0 8 unless text($k) =~ /^(fn|defn|defmacro)\s+($sym?)?\((.*)\)$/
339 1 11 is_seq($v) ? :
344 2 10 @$dargs || is_def($first) || is_map($first) ? :
351 3 3 if (@elems == 1) { }
363 0 2 unless "$k" =~ /^if +($bp)/
365 2 0 is_seq($v) ? :
379 0 0 if (s/\A\$($sym)//) { }
0 0 elsif (s/\A\$($bp)//s) { }
0 0 elsif (s/\A(.+?)(?=\$)//s) { }
399 0 2 if (is_map($elems[0]) and @{$elems[0]{'pair'};} > 1)
419 0 1 unless (my $sym = "$k") =~ s/\s+=$//
431 0 0 unless my $assigns = shift @elems
433 0 0 if (is_map($assigns)) { }
0 0 elsif (is_seq($assigns)) { }
437 0 0 unless $k =~ s/\ +=$//
456 0 1 unless "$k" =~ /^loop +($bs)/
458 1 0 is_seq($v) ? :
468 51 2 if @forms == 1
485 0 0 is_map($_) ? :
491 0 0 unless key($p) =~ /^catch\(($sym)\)$/
502 1 0 if (ref $v eq "Lingy::Symbol")
514 0 3 unless (my $expr = "$k") =~ s/ ?([?|])$//
515 2 1 $1 eq '?' ? :
517 3 0 is_seq($v) ? :
527 0 0 if @forms == 1
540 0 0 unless is_val($k)
557 0 0 if ($t eq 'val') { }
0 0 elsif ($t eq 'map') { }
0 0 elsif ($t eq 'seq') { }
559 0 0 if ($s eq ':') { }
561 0 0 "$v" eq 'null' ? :
0 0 "$v" eq 'false' ? :
0 0 "$v" eq 'true' ? :
0 0 $v =~ /^-?\d+(\.d+)?$/ ? :
584 0 0 if ref $n eq "Lingy::List" and @$n >= 2 and ref $n->[0] eq "Lingy::Symbol" and "$n->[0]" eq "defn" and ref $n->[1] eq "Lingy::Symbol" and "$n->[1]" eq "main"
594 0 0 if $main_called
595 0 0 if is_main($ast)
596 0 0 unless ref $ast eq "Lingy::List"
598 0 0 if is_main($node)
627 3 217 if /^\w+(?:::\w+)+$/
649 74 6 if wantarray
650 0 6 unless @ast == 1
662 0 70 if $@
665 38 32 ref $_ ? :
672 1 46 if (@$tokens >= 2 and $tokens->[0] eq "->" and $tokens->[1] =~ /^$sym\($/)
678 0 1 unless $method =~ s/\($//
681 1 29 $token =~ /^$re$/ ? :
2 30 $token eq '`' ? :
28 32 $token eq '(' ? :
0 60 $token =~ /^\('\s$/ ? :
11 60 $token =~ s/^($sym)\($/$1/ ? :
693 10 18 if $l or @$group != 3 or not $group->[1] =~ qr/^$op$/
696 1 17 if $oper eq ".."
706 0 12 if (@$rest == 3 and $rest->[1] =~ qr/^$op$/)
718 40 108 if ($tokens->[0] eq ')') { }
2 106 elsif ($tokens->[0] =~ qr/^$sym?\('?$/) { }
734 3 120 ref $_ ? :
757 228 116 if ($event->{'type'} =~ /^[+=](map|seq|val|ali)$/)
760 0 228 if ((my $ytag = $event->{'ytag'}) ne "-")
761 0 0 unless $ytag =~ s/^!(\w*)$/$1/
774 57 63 if $events->[0]{'type'} eq "-map"
789 22 44 if $events->[0]{'type'} eq "-seq"
827 0 165 if ($n->{'ytag'})
828 0 0 if ($n->{'ytag'} ne "yamlscript")
833 55 110 if (is_map($n)) { }
23 87 elsif (is_seq($n)) { }
835 0 38 unless tag_catch($p) or tag_defn_multi($p) or tag_defn($p) or tag_def($p) or tag_if($p) or tag_fn($p) or tag_let($p) or tag_loop($p) or tag_try($p) or tag_when($p) or tag_call($p)
864 55 110 if (is_map($n))
871 0 55 "$k" eq '^^^' ? :
2 55 "$k" eq '???' ? :
873 1 56 if ("$k" eq "cond" and is_map($v))
888 0 87 if (e_tag($n) ne '-') { }
2 85 elsif (is_double($n) or is_literal($n)) { }
85 0 elsif (is_plain($n)) { }
891 2 0 unless $n->{'xtop'} and tag_ysexpr($n) or tag_istr($n)
895 39 46 unless is_key($n) or tag_scalar($n)
905 36 0 if ($k =~ /^$sym($bp?)$/)
908 1 35 "$k" eq 'use' ? :
912 3 33 if (is_plain($v) and text($v) eq "")
913 1 2 if $args eq ""
922 0 57 if $n =~ /^catch\($sym\)$/
927 44 6 unless $k =~ /^$sym\s*=$/
934 50 6 unless $k =~ /^(?:defn|defmacro)\s+$sym$bp$/
941 56 1 unless $k =~ /^(?:defn|defmacro)\s+$sym$/ and is_map($v)
943 0 4 unless $p->[0] =~ /^$bp$/
955 42 2 unless $k =~ /^if +\S/
961 0 2 if $n =~ /(\$$sym|\$\()/
966 40 2 unless $k =~ /^fn\s+$bp$/
972 0 40 if $n =~ /^let$/
977 39 1 unless $k =~ /^loop +\S/
990 27 39 /^$sym$/ ? :
0 66 /^null$/ ? :
0 66 /^:$sym$/ ? :
0 66 /^-?\d+\.\d*$/ ? :
19 66 /^-?\d+$/ ? :
0 85 /^(true|false)$/ ? :
1002 0 39 if $n =~ /^try$/
1007 36 3 unless $k =~ /(?:\)|. )[?|]$/
1049 0 57 if $event->{'anch'} ne "-"
1067 57 0 if ($event)
1069 0 57 if $event->{'anch'} ne "-"
1098 149 34 if ($event)
1101 0 149 if $event->{'anch'} ne "-"