| line | % | coverage | branch |
| 79 | 100 | T | F | if (not defined $class) { } |
| 100 | T | F | elsif (&Scalar::Util::blessed($class)) { } |
| 80 | 50 | T | F | if (scalar keys %{$params;} > 0) |
| 145 | 50 | T | F | unless defined $geocoder |
| 173 | 50 | T | F | if (not defined $location or length $location == 0) |
| 179 | 50 | T | F | unless ($params->{'location'} =~ /\D/) |
| 186 | 50 | T | F | if $self->{'debug'} |
| 189 | 100 | T | F | if (not wantarray and my $rc = $self->_cache($location)) |
| 190 | 50 | T | F | if (ref $rc eq "ARRAY") |
| 193 | 50 | T | F | if (ref $rc eq "HASH") |
| 204 | 50 | T | F | if $self->{'debug'} |
| 208 | 0 | T | F | if (defined $self->_cache($location) and ref $self->_cache($location) eq "ARRAY" and my(@rc) = @{$self->_cache($location);}) |
| 209 | 0 | T | F | if (scalar @rc) |
| 212 | 0 | T | F | if (ref $_ eq 'HASH') { } |
| 0 | T | F | elsif (ref $_ eq 'Geo::Location::Point') { } |
| 213 | 0 | T | F | if (defined $_->{'geometry'}{'location'}{'lat'}) { } |
| 236 | 0 | T | F | if $self->{'debug'} |
| 237 | 0 | T | F | if ($allempty) |
| 240 | 0 | T | F | wantarray ? : |
| 248 | 50 | T | F | if (ref $geocoder eq "HASH") |
| 249 | 0 | T | F | if (exists $geocoder->{'limit'} and defined(my $limit = $geocoder->{'limit'})) |
| 250 | 0 | T | F | if $self->{'debug'} |
| 251 | 0 | T | F | if ($limit <= 0) |
| 256 | 0 | T | F | if (my $regex = $geocoder->{'regex'}) |
| 257 | 0 | T | F | if $self->{'debug'} |
| 258 | 0 | T | F | unless ($location =~ /$regex/) |
| 269 | 50 | T | F | if $self->{'debug'} |
| 270 | 50 | T | F | if (ref $geocoder eq 'Geo::GeoNames') { } |
| 271 | 0 | T | F | if $self->{'debug'} |
| 272 | 0 | T | F | unless defined $geocoder->username |
| 278 | 100 | T | F | if ($@) |
| 293 | 50 | T | F | if (ref $geocoder eq "Geo::Coder::US::Census" and not defined $rc[0]{'result'}{'addressMatches'}[0]{'coordinates'}{'y'}) |
| 307 | 50 | T | F | if (scalar @rc == 0 or ref $rc[0] eq "HASH" and scalar keys %{$rc[0];} == 0 or ref $rc[0] eq "ARRAY" and scalar keys %{$rc[0][0];} == 0) |
| 322 | 100 | T | F | if (ref $l eq "ARRAY") |
| 327 | 100 | T | F | if (not defined $l or $l eq "") |
| 341 | 50 | T | F | if $self->{'debug'} >= 2 |
| 342 | 50 | T | F | if ref $l eq "Geo::Location::Point" |
| 343 | 50 | T | F | if ref $l ne "HASH" |
| 344 | 50 | T | F | if ($l->{'error'}) { } |
| 357 | 100 | T | F | unless (defined $l->{'geometry'}{'location'}{'lat'}) |
| 359 | 50 | T | F | if ($l->{'lat'} and defined $l->{'lon'}) { } |
| 0 | T | F | elsif ($l->{'BestLocation'}) { } |
| 0 | T | F | elsif ($l->{'point'}) { } |
| 0 | T | F | elsif ($l->{'latt'}) { } |
| 0 | T | F | elsif ($l->{'latitude'}) { } |
| 0 | T | F | elsif ($l->{'properties'}{'geoLatitude'}) { } |
| 0 | T | F | elsif ($l->{'results'}[0]{'geometry'}) { } |
| 0 | T | F | elsif ($l->{'RESULTS'}) { } |
| 0 | T | F | elsif (defined $l->{'result'}{'addressMatches'}[0]{'coordinates'}{'y'}) { } |
| 0 | T | F | elsif ($l->{'lat'}) { } |
| 0 | T | F | elsif ($l->{'features'}) { } |
| 386 | 0 | T | F | if (my $type = $l->{'local_type'}) |
| 396 | 0 | T | F | if ($l->{'results'}[0]{'geometry'}{'location'}) { } |
| 425 | 0 | T | F | if ($l->{'features'}[0]{'center'}) { } |
| 0 | T | F | elsif ($l->{'features'}[0]{'geometry'}{'coordinates'}) { } |
| 443 | 50 | T | F | if (defined $lat and defined $long) { } |
| 455 | 50 | T | F | if ($l->{'standard'}{'countryname'}) |
| 460 | 50 | T | F | if (defined $l->{'geometry'}{'location'}{'lat'}) |
| 461 | 50 | T | F | if $self->{'debug'} |
| 480 | 50 | T | F | if (scalar @rc) |
| 481 | 50 | T | F | if $self->{'debug'} |
| 483 | 50 | T | F | if $self->{'debug'} >= 2 |
| 484 | 50 | T | F | if (defined $rc[0]) |
| 485 | 50 | T | F | if (defined $rc[0]{'long'} and not defined $rc[0]{'lng'}) |
| 488 | 50 | T | F | if (defined $rc[0]{'long'} and not defined $rc[0]{'lon'}) |
| 491 | 50 | T | F | unless (defined $rc[0]{'lat'} and defined $rc[0]{'lng'}) |
| 496 | 100 | T | F | if (wantarray) |
| 509 | 50 | T | F | if $self->{'debug'} |
| 510 | 50 | T | F | if (wantarray) |
| 547 | 0 | T | F | unless $ua |
| 550 | 0 | T | F | ref $g eq 'HASH' ? : |
| 551 | 0 | T | F | unless defined $geocoder |
| 570 | 0 | T | F | unless my $latlng = $params->{'latlng'} |
| 574 | 0 | T | F | if ($latlng) { } |
| 585 | 0 | T | F | if (my $rc = $self->_cache($latlng)) |
| 591 | 0 | T | F | if (ref $geocoder eq "HASH") |
| 592 | 0 | T | F | if (exists $geocoder->{'limit'} and defined(my $limit = $geocoder->{'limit'})) |
| 593 | 0 | T | F | if $self->{'debug'} |
| 594 | 0 | T | F | if ($limit <= 0) |
| 601 | 0 | T | F | if $self->{'debug'} |
| 602 | 0 | T | F | if (wantarray) { } |
| 0 | T | F | elsif (my $rc = $self->_cache($latlng) // $geocoder->reverse_geocode(%{$params;})) { } |
| 604 | 0 | T | F | if (my(@locs) = $geocoder->reverse_geocode(%{$params;})) |
| 605 | 0 | T | F | if $self->{'debug'} >= 2 |
| 607 | 0 | T | F | if (my $name = $loc->{'display_name'}) { } |
| 0 | T | F | elsif ($loc->{'city'}) { } |
| 0 | T | F | elsif ($loc->{'features'}) { } |
| 613 | 0 | T | F | if (my $usa = $loc->{'usa'}) { } |
| 615 | 0 | T | F | if (my $staddress = $usa->{'usstaddress'}) |
| 616 | 0 | T | F | if $name |
| 619 | 0 | T | F | if (my $city = $usa->{'uscity'}) |
| 620 | 0 | T | F | if $name |
| 623 | 0 | T | F | if (my $state = $usa->{'state'}) |
| 624 | 0 | T | F | if $name |
| 627 | 0 | T | F | if $name |
| 631 | 0 | T | F | if (my $staddress = $loc->{'staddress'}) |
| 632 | 0 | T | F | if $name |
| 635 | 0 | T | F | if (my $city = $loc->{'city'}) |
| 636 | 0 | T | F | if $name |
| 639 | 0 | T | F | if (my $state = $loc->{'prov'}) |
| 640 | 0 | T | F | if $name |
| 654 | 0 | T | F | unless ref $rc |
| 655 | 0 | T | F | if $self->{'debug'} >= 2 |
| 656 | 0 | T | F | if (my $name = $rc->{'display_name'}) |
| 660 | 0 | T | F | if ($rc->{'city'}) |
| 663 | 0 | T | F | if (my $usa = $rc->{'usa'}) { } |
| 666 | 0 | T | F | if (my $staddress = $usa->{'usstaddress'}) |
| 667 | 0 | T | F | if $name |
| 670 | 0 | T | F | if (my $city = $usa->{'uscity'}) |
| 671 | 0 | T | F | if $name |
| 674 | 0 | T | F | if (my $state = $usa->{'state'}) |
| 675 | 0 | T | F | if $name |
| 682 | 0 | T | F | if (my $staddress = $rc->{'staddress'}) |
| 683 | 0 | T | F | if $name |
| 686 | 0 | T | F | if (my $city = $rc->{'city'}) |
| 687 | 0 | T | F | if $name |
| 690 | 0 | T | F | if (my $state = $rc->{'prov'}) |
| 691 | 0 | T | F | if $name |
| 697 | 0 | T | F | if ($rc->{'features'}) |
| 737 | 100 | T | F | if (my $value = shift()) |
| 741 | 100 | T | F | if ($self->{'cache'}) |
| 743 | 50 | T | F | if (ref $value eq 'ARRAY') { } |
| 50 | T | F | elsif (ref $value eq 'HASH') { } |
| 745 | 0 | T | F | if (ref $item eq "HASH") |
| 747 | 0 | T | F | unless ($self->{'debug'}) |
| 749 | 0 | T | F | unless $k eq "geometry" |
| 752 | 0 | T | F | unless (defined $item->{'geometry'}{'location'}{'lat'}) |
| 753 | 0 | T | F | if (defined $item->{'geometry'}) { } |
| 765 | 0 | T | F | unless (defined $duration) |
| 771 | 50 | T | F | unless ($self->{'debug'}) |
| 773 | 100 | T | F | unless $k eq "geometry" |
| 776 | 50 | T | F | if (defined $value->{'geometry'}{'location'}{'lat'}) { } |
| 0 | T | F | elsif (defined $value->{'geometry'}) { } |
| 791 | 50 | T | F | if $self->{'debug'} |
| 792 | 50 | T | F | if (ref $self->{'cache'} eq 'HASH') { } |
| 0 | T | F | elsif (not ref $value) { } |
| 803 | 100 | T | F | if (not defined $rc and $self->{'cache'}) |
| 804 | 50 | T | F | if (ref $self->{'cache'} eq 'HASH') { } |
| 810 | 100 | T | F | if (defined $rc) |
| 811 | 50 | T | F | if (ref $rc eq "HASH") |
| 812 | 50 | T | F | unless (defined $rc->{'geometry'}{'location'}{'lat'}) |