Branch Coverage

blib/lib/Image/ExifTool/Geolocation.pm
Criterion Covered Total %
branch 145 264 54.9


line true false branch
132 0 1 unless open DATFILE, "< $datfile"
135 0 1 unless ($line =~ /^Geolocation(\d+\.\d+)\t(\d+)/)
141 0 1 unless ($dbVer =~ /^1\.0[23]$/)
142 0 0 $dbVer < 1.03 ? :
148 0 1 unless defined $comment and $comment =~ / (\d+) /
159 1 114877 if length $line == 6 and $line =~ /\0\0\0\0/
164 0 1 unless @cityList == $nCity
168 1 238 if length $line == 6 and $line =~ /\0\0\0\0/
171 0 238 if $isUserDefined
176 1 3754 if length $line == 6 and $line =~ /\0\0\0\0/
179 0 3754 if $isUserDefined
184 1 31913 if length $line == 6 and $line =~ /\0\0\0\0/
187 0 31913 if $isUserDefined
192 1 379 if length $line == 6 and $line =~ /\0\0\0\0/
195 0 379 if $isUserDefined
198 1 0 if ($line eq "\0\0\0\0\5\n")
202 1 19 if length $line == 6 and $line =~ /\0\0\0\0/
204 18 1 if $line =~ s/ (.*)//
222 0 0 if ($Image::ExifTool::Geolocation::altDir and $nCity)
223 0 0 if (open ALTFILE, "< $Image::ExifTool::Geolocation::altDir/AltNames.dat") { }
229 0 0 if ($i == $nCity) { }
260 5 1 if $field eq $sortedBy
262 1 0 if ($field eq 'Latitude') { }
0 0 elsif ($field eq 'City') { }
0 0 elsif ($field eq 'Country') { }
290 0 1 if @_ < 10
291 0 1 if length $cc != 2
292 0 1 if $fc =~ s/ (.*)//
294 1 0 unless (defined $fn)
295 1 0 if ($dbVer eq '1.02' or @featureCodes > 63 or not length $fc) { }
305 1 0 unless (%countryNum)
313 1 0 defined $cn ? :
314 0 0 if $#countryList >= 255
321 0 1 unless (defined $tn)
322 0 0 if $#timezoneList >= 511
327 0 1 unless (defined $rn)
328 0 0 if $#regionList >= 4095
333 0 1 unless (defined $sn)
334 0 0 $dbVer eq '1.02' ? :
335 0 0 if $#subregionList >= $max
343 1 0 if ($tn > 255)
344 0 1 if ($dbVer eq '1.02') { }
356 1 0 if ($altNames)
380 0 9 if $entryNum > $#cityList
381 0 9 if $sort and @sortOrder > $entryNum
386 0 9 if ($dbVer eq '1.02') { }
387 0 0 if $sn & 32768
389 9 0 if $fn & 128
400 0 9 if ($lang and $lang ne "en")
403 0 0 unless (defined $xlat)
405 0 0 if (eval "require 'GeoLang/$lang.pm'")
408 0 0 if %$trans
412 0 0 if (%Image::ExifTool::Geolocation::geoLang)
414 0 0 if ($userLang and ref $userLang eq "HASH")
415 0 0 if ($xlat) { }
425 0 0 if ($xlat)
436 0 0 if $xlat->{$fc}
450 0 0 if $sort and @sortOrder > $entryNum
451 0 0 unless my $alt = $altNames[$entryNum]
473 8 0 if $opts
475 0 8 if ($debug)
479 0 8 unless @cityList
481 3 5 if ($pop)
485 1 7 if ($fcodes)
488 1 0 if ($neg) { }
504 1 23 if (m[^(-)?(\w{2})?/(.*)/(i?)$]) { }
12 11 elsif (/^[-+]?\d+(\.\d+)?$/) { }
0 11 elsif (/^([-+]?\d+(?:\.\d+)?) *(([NS])[A-Z]*)? +([-+]?\d+(?:\.\d+)?) *(([EW])[A-Z]*)?/i) { }
7 4 elsif (lc $_ eq 'both') { }
1 3 elsif ($_ =~ /^num=(\d+)$/i) { }
3 0 elsif ($_) { }
505 0 1 $4 ? :
506 0 1 unless defined($idx = $ri{$2})
508 1 0 if $idx < 5
509 0 1 if $1
510 1 0 unless $regex{$idx}
512 1 0 unless defined $city
514 12 0 if @coords < 2
516 0 0 if @coords
518 0 0 if $3 and uc $3 eq "S"
519 0 0 if $6 and uc $6 eq "W"
527 1 2 if ($city) { }
534 0 8 unless (defined $city or @coords == 2)
539 6 0 if @coords == 2 and $both || !defined($city)
546 0 3 if ($lastArgs and $lastArgs eq $cargs) { }
553 3 0 if ($altNames) { }
554 0 2 if $city and $Image::ExifTool::Geolocation::altDir
561 229741 114892 if ($city and $city ne lc $cty)
562 229740 1 unless $altNames->[$i] and $altNames->[$i] =~ /^$city$/im
565 0 114893 if ($regex{'8'})
566 0 114893 if ($regex{'18'})
570 0 114893 if $dbVer eq "1.02"
572 14 114879 if (@exact)
579 114878 2 if ($other)
580 114878 118130 if ($regex{$idx})
581 0 119756 if ($regex{$idx + 10})
584 0 1628 if ($regex{'9'} or $regex{'19'})
590 0 1628 if $fcodes and not $fcOK{ord substr($cityList[$i], 12, 1) & 63}
592 1628 0 if (not defined $minPop or $pc ge $minPop)
594 1626 2 if @coords == 2
597 0 3 if @startTime
598 3 0 if (%lastFound)
599 1 2 if @coords == 2
600 0 2 if scalar keys %lastFound > 200
602 0 2 if ($num > 1 and scalar keys %lastFound == 1)
609 2 0 unless (@lastByPop)
610 0 0 unless $lastFound{$b} cmp $lastFound{$a}
621 0 6 if ($maxDist) { }
632 0 0 $coords[0] < 0 ? :
0 6 unless $lat
638 0 5 @sortOrder ? :
1 5 @lastByLat ? :
641 10 84 $sorted ? :
44 50 if ($coord lt $cityList[$sorted ? $sorted->[$n] : $n]) { }
654 12 41379 if (($n += $inc) == $end)
655 6 6 if $inc == 1 or $n0 == $n1
658 1625 39760 $sorted ? :
663 11 41374 if abs $lt - $lat > $minDistC
665 38252 3122 if defined $minPop and $minPop ge substr($cityList[$i], 6, 2)
666 28 3094 if $fcodes and not $fcOK{ord substr($cityList[$i], 12, 1) & 63}
673 3029 65 if $distU > $minDistU
675 50 15 if ($num <= 1) { }
681 13 7 if $distU < $matches[$j][3]
683 6 9 if ($j < $#matches) { }
689 6 9 if @matches > $num
691 13 2 if @matches >= $num
695 0 6 unless @matchParms
698 0 6 if @startTime
701 3 5 if ($num > 1)
702 1 2 unless @matches
713 5 2 if $num <= 1
715 6 0 wantarray ? :