Branch Coverage

blib/lib/Geo/METARTAF.pm
Criterion Covered Total %
branch 0 240 0.0


line true false branch
71 0 0 unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i
80 0 0 unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i
89 0 0 unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i
101 0 0 if ($line =~ /^~/) { }
103 0 0 if ($subsection eq $section_name) { }
130 0 0 if ($line =~ /^~/) { }
132 0 0 if ($subsection eq $section_name) { }
136 0 0 if $endTr
145 0 0 if ($endTr)
149 0 0 if ($line =~ /METAR|SPECI|TAF/) { }
0 0 elsif ($line =~ /^Valid/) { }
0 0 elsif ($line =~ /^Temporarily/) { }
0 0 elsif ($line =~ /^Probability/) { }
0 0 elsif ($line =~ /^Becoming/) { }
0 0 elsif ($line =~ /^From/) { }
0 0 elsif ($line =~ /^Until/) { }
176 0 0 if $endTr
178 0 0 if $decoded_data =~ /\302\260/
205 0 0 unless (length $l > 15)
216 0 0 if ($t eq 'TAF') { }
0 0 elsif ($t eq 'METAR' or $t eq 'SPECI') { }
228 0 0 if ($self->{'taf'} and $tok[0] eq "AMD")
235 0 0 if ($t =~ /^[A-Z]{4}$/) { }
244 0 0 if (my($day, $time) = $t =~ /^(\d\d)(\d{4})Z?$/) { }
254 0 0 if ($tok[0] eq 'AUTO') { }
267 0 0 if ($self->{'taf'})
268 0 0 if (my($v_from_day, $v_from_hour, $v_to_day, $v_to_hour) = $tok[0] =~ m[^(\d{2})(\d{2})/(\d{2})(\d{2})$])
287 0 0 if $self->{'valid_from_day'}
293 0 0 if ($t eq 'TEMPO' or $t eq 'BECMG') { }
0 0 elsif ($ignore{$t}) { }
0 0 elsif ($t eq 'NOSIG' or $t eq 'NSW') { }
0 0 elsif ($t eq 'BKN') { }
0 0 elsif ($clt{$t}) { }
0 0 elsif ($t eq 'CAVOK') { }
0 0 elsif ($t eq 'RMK') { }
0 0 elsif (my($fromDay, $fromTime) = $t =~ /^FM(\d{2})(\d{4})$/) { }
0 0 elsif (my($tilDay, $tilTime) = $t =~ /^TL(\d{2})(\d{4})$/) { }
0 0 elsif (my($percent) = $t =~ /^PROB(\d\d)$/) { }
0 0 elsif (my($sort, $dir) = $t =~ /^(RWY?|LDG)(\d\d[RLC]?)$/) { }
0 0 elsif (my($wdir, $spd, $gust, $unit) = $t =~ /^(\d\d\d|VRB)(\d\d)(?:G(\d\d))?(KT|MPH|MPS|KMH)$/) { }
0 0 elsif (my($u, $p, $punit) = $t =~ /^([QA])(?:NH)?(\d\d\d\d)(INS?)?$/) { }
0 0 elsif ($t eq 'WS') { }
0 0 elsif (my($top, $direction, $speed) = $t =~ m[^WS(\d{3})\/(\d{3})(\d+)KT$]) { }
0 0 elsif (my($visibility, $mist) = $t =~ /^(\d\d\d\d[NSEW]{0,2})([A-Z][A-Z])?$/) { }
0 0 elsif (($visibility) = $t =~ /^(\d+)KM$/) { }
0 0 elsif (my($m) = $t =~ /^(\d)$/) { }
0 0 elsif (my($lt, $mvisibility) = $t =~ m[^([MP])?(\d+(:?/\d)?)SM$]) { }
0 0 elsif (my($rw, $rlt, $range, $vlt, $var, $runit, $tend) = $t =~ m[^R(\d\d[LRC]?)/([MP])?(\d\d\d\d)(?:([VMP]+)(\d\d\d\d))?(?:(FT)/?)?([UND])?$]) { }
0 0 elsif (my($deg, $w) = $t =~ /^(\342\210\222|-|\+|VC)?((?:SH)?\S{0,4})$/) { }
0 0 elsif (my($amt, $height, $cb) = $t =~ m[^(FEW|SCT|BKN|OVC|SKC|CLR|VV|///)(\d\d\d|///)(CB|TCU)?$]) { }
0 0 elsif (my($ms, $t, $n, $d) = $t =~ m[^(M)?(\d\d)/(M)?(\d\d)?$]) { }
294 0 0 if $ceiling < 100000
298 0 0 if (@tok and ($from_day, $from_hour, $to_day, $to_hour) = $tok[0] =~ m[^(\d\d)(\d\d)/(\d\d)(\d\d)$])
299 0 0 if ($self->{'taf'} and $from_hour >= 0 and $from_hour <= 24 and $to_hour >= 0 and $to_hour <= 24) { }
336 0 0 if $ceiling < 100000
341 0 0 if $ceiling < 100000
347 0 0 if $ceiling < 100000
353 0 0 if $ceiling < 100000
357 0 0 if (@tok and ($from_day, $from_hour, $to_day, $to_hour) = $tok[0] =~ m[^(\d\d)(\d\d)/(\d\d)(\d\d)$])
358 0 0 if ($self->{'taf'} and $from_hour >= 0 and $from_hour <= 24 and $to_hour >= 0 and $to_hour <= 24) { }
380 0 0 if (@tok and ($fromdir, $todir) = $tok[0] =~ /^(\d\d\d)V(\d\d\d)$/)
387 0 0 if defined $gust
389 0 0 if $unit eq "Mps"
390 0 0 if $unit eq "Kt"
401 0 0 if ($u eq 'A' or $punit and $punit =~ /^I/) { }
414 0 0 if ($tok[0] eq 'ALL' and $tok[1] eq 'RWY') { }
0 0 elsif ($tok[0] eq 'RWY' and $tok[1] =~ /\d\d[LRC]?/) { }
430 0 0 $visibility eq '9999' ? :
434 0 0 if $mist
438 0 0 $visibility eq '9999' ? :
446 0 0 if (@tok and ($visibility) = $tok[0] =~ m[^(\d/\d)SM$])
456 0 0 if defined $lt and $lt eq "M"
457 0 0 if defined $lt and $lt eq "P"
461 0 0 if $mvisibility =~ m[M|/] or $mvisibility =~ /^1$/
466 0 0 unless $runit
468 0 0 if $runit eq "ft"
469 0 0 if $rlt and $rlt eq "M"
470 0 0 if $rlt and $rlt eq "P"
471 0 0 if $vlt and $vlt =~ /M/
472 0 0 if $vlt and $vlt =~ /P/
480 0 0 if (defined $deg and "$deg$w" eq '+FC') { }
0 0 elsif ($w eq '+FC') { }
487 0 0 if defined $deg and $deg eq "VC" and $self->{'taf'}
493 0 0 $height eq '///' ? :
0 0 unless $amt eq "///" and $height eq "///"
494 0 0 if ($amt =~ /BKN|OVC|VV/)
495 0 0 if $height * 100 < $ceiling
502 0 0 if defined $ms
503 0 0 if defined $d and defined $n
535 0 0 if $name eq "DESTROY"
559 0 0 defined $_ ? :
565 0 0 ref $pkg ? :
566 0 0 if ($d == 1 or $d == 21 or $d == 31) { }
0 0 elsif ($d == 2 or $d == 22) { }
0 0 elsif ($d == 3 or $d == 23) { }
597 0 0 if ($self->[0] == $self->[2]) { }
615 0 0 if ($self->[0] ne 'VRB' and $self->[0] == 0 and $self->[1] == 0) { }
619 0 0 $self->[0] eq 'VRB' ? :
620 0 0 if defined $self->[4]
621 0 0 $self->[0] eq 'VRB' ? :
622 0 0 if defined $self->[2]
714 0 0 if @$self == 1
715 0 0 if $self->[0] eq "VV"
716 0 0 defined $self->[2] ? :
797 0 0 if (not defined $t) { }
0 0 elsif ($t eq 'VC' or $t eq 'VT') { }
0 0 elsif ($t eq 'SH') { }
804 0 0 if ($vic) { }
814 0 0 if ($shower and $wt{$t} =~ /s$/) { }
822 0 0 if (@out and $shower)
826 0 0 if $vic
840 0 0 if defined $self->[2]
841 0 0 if (defined $self->[4])
842 0 0 if $self->[4] eq "D"
843 0 0 if $self->[4] eq "U"
856 0 0 $self->[0] eq 'LDG' ? :
881 0 0 if (defined $self->[1])
884 0 0 if ($self->[1] == $self->[3]) { }
905 0 0 if ($self->[0] == $self->[2]) { }
925 0 0 if ($self->[0] == $self->[2]) { }