| line | % | coverage | branch |
| 76 | 100 | T | F | if (not defined $class) { } |
| 100 | T | F | elsif (ref $class) { } |
| 152 | 50 | T | F | if (not ref $self) { } |
| 50 | T | F | elsif (ref $self eq 'HASH') { } |
| 100 | T | F | elsif (ref $_[0] eq 'HASH') { } |
| 50 | T | F | elsif (ref $_[0]) { } |
| 100 | T | F | elsif (scalar @_ and scalar(@_) % 2 == 0) { } |
| 153 | 0 | T | F | if (scalar @_) { } |
| 0 | T | F | elsif (not defined $self) { } |
| 0 | T | F | elsif ($self eq __PACKAGE__) { } |
| 176 | 100 | T | F | unless my $location = $params{'location'} |
| 179 | 50 | T | F | unless $location =~ /,.+,/ |
| 188 | 100 | T | F | if (exists $self->{'cache'}{$lc}) |
| 194 | 100 | T | F | if (exists $self->{'index'}{$lc}) |
| 234 | 100 | T | F | if ($location =~ /USA?$/ or $location =~ /United States$/) { } |
| 100 | T | F | elsif ($location =~ /(England|Scotland|Wales|Northern Ireland|UK|GB)$/i) { } |
| 50 | T | F | elsif ($location =~ /Canada$/) { } |
| 50 | T | F | elsif ($location =~ /Australia$/) { } |
| 251 | 100 | T | F | if ($ap) |
| 255 | 100 | T | F | if ($l =~ /(.+), (England|UK)$/i) |
| 262 | 100 | T | F | if ($ap->parse($l) == 0) |
| 268 | 50 | T | F | if (my $type = $c{'street_type'}) |
| 269 | 50 | T | F | if (my $a = &Geo::Coder::Free::_abbreviate($type)) { } |
| 274 | 50 | T | F | if (my $suffix = $c{'street_direction_suffix'}) |
| 280 | 50 | T | F | if (length $c{'subcountry'} == 2) { } |
| 283 | 50 | T | F | if ($c{'country'} =~ /Canada/i) { } |
| 50 | T | F | elsif ($c{'country'} =~ /^(United States|USA|US)$/i) { } |
| 50 | T | F | elsif ($c{'country'}) { } |
| 285 | 0 | T | F | if (my $twoletterstate = "Locale::CA"->new->{'province2code'}{uc $c{'subcountry'}}) |
| 290 | 0 | T | F | if (my $twoletterstate = "Locale::US"->new->{'state2code'}{uc $c{'subcountry'}}) |
| 295 | 50 | T | F | if ($c{'subcountry'}) |
| 304 | 100 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 310 | 100 | T | F | if ($addr{'number'}) |
| 311 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 321 | 50 | T | F | unless (defined $addr{'country'}) |
| 322 | 0 | T | F | if ($l =~ /(United States|USA|US)$/i) { } |
| 329 | 100 | T | F | if (uc $row->{'state'} eq uc $addr{'state'} and uc $row->{'country'} eq uc $addr{'country'}) |
| 335 | 50 | T | F | unless ($found) |
| 343 | 100 | T | F | if ($location =~ /^(.+?)[,\s]+(United States|USA|USA?)$/i) |
| 353 | 50 | T | F | if (not $location =~ /\sCounty,/i and my $href = 'Geo::StreetAddress::US'->parse_location($l) || 'Geo::StreetAddress::US'->parse_address($l)) |
| 355 | 50 | T | F | if (my $state = $href->{'state'}) |
| 356 | 50 | T | F | if (length $state > 2) |
| 357 | 0 | T | F | if (my $twoletterstate = "Locale::US"->new->{'state2code'}{uc $state}) |
| 362 | 50 | T | F | if ($href->{'city'}) |
| 365 | 50 | T | F | if (my $street = $href->{'street'}) |
| 366 | 100 | T | F | if ($href->{'type'} and my $type = &Geo::Coder::Free::_abbreviate($href->{'type'})) |
| 369 | 100 | T | F | if ($href->{'suffix'}) |
| 372 | 100 | T | F | if (my $prefix = $href->{'prefix'}) |
| 382 | 50 | T | F | if ($href->{'number'}) |
| 383 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 392 | 100 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 401 | 50 | T | F | if ($street and not $href->{'number'}) |
| 409 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "city", "state", "country"))) |
| 425 | 50 | T | F | if (scalar @addr == 5) |
| 429 | 50 | T | F | if (length $state > 2) |
| 430 | 50 | T | F | if (my $twoletterstate = "Locale::US"->new->{'state2code'}{uc $state}) |
| 434 | 50 | T | F | if (length $state == 2) |
| 441 | 50 | T | F | if (not $addr[0] =~ /^\d/) { } |
| 444 | 50 | T | F | if ($addr[1] =~ /^(\d+)\s+(.+)/) { } |
| 448 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "number", "road", "city", "state", "country"))) |
| 459 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("name", "road", "city", "state", "country"))) |
| 472 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 486 | 100 | T | F | if ($location =~ /.+,.+,.*England$/ and not $location =~ /.+,.+,.+,.*England$/) |
| 494 | 100 | T | F | unless "Geo::Address::Parser"->can("parse") |
| 497 | 50 | T | F | if (my $fields = $addr_parser->parse($location)) |
| 499 | 50 | T | F | unless defined $fields->{$key} |
| 501 | 50 | T | F | if (my $rc = $self->_search($fields, keys %{$fields;})) |
| 513 | 100 | T | F | if ($libpostal_is_installed == 0) |
| 514 | 50 | T | F | if (eval {
do {
require Geo::libpostal
}
}) { } |
| 526 | 50 | T | F | if ($libpostal_is_installed == 1 and my(%addr) = Geo::libpostal::parse_address($location)) |
| 527 | 0 | T | F | if ($addr{'house_number'} and not $addr{'number'}) |
| 530 | 0 | T | F | if ($addr{'house'} and not $addr{'name'}) |
| 534 | 0 | T | F | if (my $street = $addr{'road'}) |
| 537 | 0 | T | F | if (defined $addr{'state'} and not defined $addr{'country'} and $addr{'state'} eq "england") |
| 542 | 0 | T | F | if ($addr{'country'} and $addr{'state'} || $addr{'state_district'}) |
| 543 | 0 | T | F | if ($addr{'country'} =~ /Canada/i) { } |
| 0 | T | F | elsif ($addr{'country'} =~ /^(United States|USA|US)$/i) { } |
| 545 | 0 | T | F | if (length $addr{'state'} > 2) |
| 546 | 0 | T | F | if (my $twoletterstate = "Locale::CA"->new->{'province2code'}{uc $addr{'state'}}) |
| 552 | 0 | T | F | if (length $addr{'state'} > 2) |
| 553 | 0 | T | F | if (my $twoletterstate = "Locale::US"->new->{'state2code'}{uc $addr{'state'}}) |
| 558 | 0 | T | F | if ($addr{'state_district'}) |
| 560 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state_district", "state", "country"))) |
| 568 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 576 | 0 | T | F | if ($addr{'number'}) |
| 577 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 587 | 50 | T | F | if ($location =~ /^(.+?),\s*([\s\w]+),\s*([\s\w]+),\s*([\w\s]+)$/) |
| 603 | 50 | T | F | if ($addr{'road'} =~ /([\w\s]+),*\s+(.+)/) |
| 607 | 100 | T | F | if ($addr{'road'} =~ /^(\d+)\s+(.+)/) { } |
| 100 | T | F | elsif (my $rc = $self->_search(\%addr, ('name', 'road', 'city', 'state', 'country'))) { } |
| 611 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "number", "road", "city", "state", "country"))) |
| 625 | 100 | T | F | if ($addr{'name'} and not defined $addr{'number'}) |
| 628 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "road", "city", "state", "country"))) |
| 642 | 100 | T | F | if ($location =~ /$left/) |
| 647 | 100 | T | F | if (my $rc = $self->geocode(\%params)) |
| 655 | 50 | T | F | if ($location =~ /(.+), (England|UK)$/i) |
| 657 | 100 | T | F | if (my $rc = $self->geocode(\%params)) |
| 692 | 50 | T | F | if (defined $data->{$column}) { } |
| 0 | T | F | elsif (exists $data->{$column}) { } |
| 693 | 100 | T | F | unless (defined $row->{$column}) |
| 699 | 100 | T | F | if (uc $row->{$column} ne uc $data->{$column}) |
| 709 | 100 | T | F | if ($match and $number_of_columns_matched >= 3) |
| 711 | 50 | T | F | if ($number_of_columns_matched == scalar @columns) { } |
| 0 | T | F | elsif ($number_of_columns_matched >= 4) { } |
| 743 | 50 | T | F | if (not ref $self) { } |
| 50 | T | F | elsif (ref $self eq 'HASH') { } |
| 100 | T | F | elsif (ref $_[0] eq 'HASH') { } |
| 50 | T | F | elsif (ref $_[0]) { } |
| 100 | T | F | elsif (scalar @_ and scalar(@_) % 2 == 0) { } |
| 744 | 0 | T | F | if (scalar @_) { } |
| 0 | T | F | elsif (not defined $self) { } |
| 0 | T | F | elsif ($self eq __PACKAGE__) { } |
| 771 | 100 | T | F | if ($latlng) { } |
| 779 | 100 | T | F | unless (defined $latitude and defined $longitude) |
| 786 | 50 | T | F | if (defined $row->{'latitude'} and defined $row->{'longitude'}) |
| 788 | 100 | T | F | if (_equal($row->{'latitude'}, $latitude, 4) and _equal($row->{'longitude'}, $longitude, 4)) |
| 792 | 100 | T | F | if (wantarray) { } |
| 796 | 100 | T | F | if ($location =~ /$right/) |
| 857 | 100 | T | F | if scalar @lines == 0 |
| 870 | 50 | T | F | if $line =~ /^\s*$/ |
| 879 | 100 | T | F | if ($char eq '"') { } |
| 100 | T | F | elsif ($char eq ',' and not $in_quotes) { } |
| 897 | 100 | T | F | if ($location{'latitude'} and $location{'longitude'} and $location{'latitude'} =~ /^-?\d+\.?\d*$/ and $location{'longitude'} =~ /^-?\d+\.?\d*$/) |
| 918 | 100 | T | F | if (@$locations_ref >= 3) |