Branch Coverage

blib/lib/Geo/WeatherNWS.pm
Criterion Covered Total %
branch 103 170 60.5


line true false branch
62 132 17 if (defined $float)
78 11 9 if (defined $fahrenheit)
88 19 1 if (defined $celsius)
110 12 1 if (defined $F and defined $wind_speed_mph)
118 3 9 if ($F <= 50 and $wind_speed_mph > 3)
138 10 0 if (defined $F and defined $rh)
161 18 0 if (defined $knots)
175 17 0 if (defined $knots)
189 8 0 if (defined $miles)
243 6 4 if ($coded =~ /^[-+]/) { }
246 6 0 unless ($old_conditions1)
255 6 0 if ($Block2t)
260 3 3 if ($Modifier =~ /^\-/) { }
3 0 elsif ($Modifier =~ /^\+/) { }
269 6 0 if ($Block2)
273 0 6 if ($old_conditionstext) { }
274 0 0 if ($Block1 eq 'SH') { }
290 4 0 unless ($old_conditions1)
298 4 0 if ($Block2t)
304 0 4 if ($old_conditionstext) { }
305 0 0 if ($Block1 eq 'SH') { }
412 0 0 unless ($Code)
418 0 0 if ($Self->{'http'}) { }
427 0 0 if ($Res->is_success)
430 0 0 if ($Line =~ /<(TITLE|H1|H2)>/) { }
439 0 0 if ($Line =~ /^[A-Z][A-Z0-9]{3}\s/)
458 0 0 unless (defined $Ftp)
467 0 0 if ($Rcode =~ /^[45]/)
477 0 0 if ($Rcode =~ /^[45]/)
488 0 0 if ($Rcode =~ /^[45]/)
495 0 0 unless open my $F, '<', $Tmpfile
547 8 92 if ($column == 1 and $Line =~ m[^\d{4}/\d{2}/\d{2}$])
551 8 92 if ($column == 2 and $Line =~ /^\d{2}:\d{2}$/)
559 8 92 if ($Line =~ /^([A-Z][A-Z0-9]{3})/ and not $have_icao_code) { }
8 84 elsif ($Line =~ /([0-9]Z)$/) { }
8 76 elsif ($Line =~ /([0-9]KT)$/) { }
7 69 elsif ($Line =~ /([0-9]SM)$/) { }
6 63 elsif ($Line =~ / (BR|TS|MI|PR|BC|DR|BL|SH|FZ|DZ|RA|SN|SG|IC|PE|PL|GR|GS|UP|FG|FU|VA|DU|SA|HZ|PY|PO|SQ|FC|SS) ([A-Z])* /x or $Line =~ /^VC([A-Z])*/ or $Line =~ /[\+\-]VC([A-Z])*/) { }
11 52 elsif ($Line =~ /^(VV[0-9])/ or $Line =~ /^(SKC[0-9])/ or $Line =~ /^(CLR)/ or $Line =~ /^(FEW)/ or $Line =~ /^(SCT[0-9])/ or $Line =~ /^(BKN[0-9])/ or $Line =~ /^(OVC[0-9])/) { }
8 44 elsif ($Line =~ m[^([0-9][0-9]/[0-9][0-9])] or $Line =~ m[^(M[0-9][0-9]/)] or $Line =~ m[^(M[0-9][0-9]/M[0-9][0-9])] or $Line =~ m[^([0-9][0-9]/M[0-9][0-9])]) { }
7 37 elsif ($Line =~ /^(A[0-9]{4})/) { }
1 36 elsif ($Line =~ /^(Q[0-9]{4})/) { }
7 29 elsif ($Line =~ /^(RMK)/) { }
572 0 8 if $Line eq 'AUTO'
596 0 8 if ($Line =~ /VRB/) { }
609 0 8 if ($Variable) { }
2 6 elsif ($Winddir <= 22.5 or $Winddir >= 337.5) { }
0 6 elsif ($Winddir <= 67.5 and $Winddir >= 22.5) { }
0 6 elsif ($Winddir <= 112.5 and $Winddir >= 67.5) { }
0 6 elsif ($Winddir <= 157.5 and $Winddir >= 112.5) { }
0 6 elsif ($Winddir <= 202.5 and $Winddir >= 157.5) { }
6 0 elsif ($Winddir <= 247.5 and $Winddir >= 202.5) { }
0 0 elsif ($Winddir <= 292.5 and $Winddir >= 247.5) { }
0 0 elsif ($Winddir <= 337.5 and $Winddir >= 292.5) { }
640 6 2 if ($Windspeedkts =~ /G/)
650 1 7 if ($Windspeedkts == 0)
682 6 1 if ($Line =~ m[/])
706 6 0 if defined $conditionstext
707 6 0 if defined $conditions1
708 6 0 if defined $conditions2
709 4 2 if defined $intensity
727 0 11 if ($Line =~ /^(CLR)/) { }
2 9 elsif ($Line =~ /^(FEW)/) { }
2 7 elsif ($Line =~ /^(SCT[0-9])/) { }
1 6 elsif ($Line =~ /^(BKN[0-9])/) { }
6 0 elsif ($Line =~ /^(OVC[0-9])/) { }
743 2 9 unless ($Self->{'conditionstext'})
761 0 8 if ($Temperature =~ /M/)
766 0 8 if ($Dewpoint =~ /M/)
867 7 109 if ($Line =~ /^(RMK)/)
871 23 93 if ($Remarks)
890 23 0 if ($Remark)
893 1 22 if ($Remark =~ /^AO[1-2]/) { }
7 15 elsif ($Remark =~ /^SLP/) { }
0 15 elsif ($Remark =~ /^TS/) { }
1 14 elsif ($Remark =~ /^5[0-9]/) { }
0 14 elsif ($Remark =~ /\$/) { }
0 14 elsif ($Remark =~ /^P[0-9]/) { }
0 14 elsif ($Line =~ /^(BRB|TSB|MIB|PRB|BCB|DRB|BLB|SHB|FZB|DZB|RAB|SNB|SGB|ICB|PEB|GRB|GSB|UPB|FGB|FUB|VAB|DUB|SAB|HZB|PYB|POB|SQB|FCB|SSB)/) { }
7 7 elsif ($Remark =~ /^T[0-9]/) { }
899 0 7 if (not defined $Remark or $Remark eq '')
903 0 7 if ($Remark and $Remark >= 800) { }
973 0 8 if ($Templatefile)
975 0 0 unless open my $F, '<', $Templatefile
981 0 0 exists $Self->{$1} ? :