| line | % | coverage | branch |
| 161 | 100 | T | F | if (not defined $class) { } |
| 100 | T | F | elsif (ref $class) { } |
| 189 | 100 | T | F | if $towns |
| 269 | 100 | T | F | if (not ref $self) { } |
| 100 | T | F | elsif (ref $self eq 'HASH') { } |
| 270 | 100 | T | F | if (scalar @_) { } |
| 100 | T | F | elsif (not defined $self) { } |
| 100 | T | F | elsif ($self eq __PACKAGE__) { } |
| 287 | 100 | T | F | unless my $location = $params{'location'} |
| 291 | 100 | T | F | unless $location =~ /,.+,/ |
| 297 | 100 | T | F | if exists $self->{'cache'}{$lc} |
| 299 | 100 | T | F | if exists $self->{'index'}{$lc} |
| 302 | 100 | T | F | if ($location =~ /USA?$/ or $location =~ /United States$/) { } |
| 100 | T | F | elsif ($location =~ /(England|Scotland|Wales|Northern Ireland|UK|GB)$/i) { } |
| 100 | T | F | elsif ($location =~ /Canada$/) { } |
| 100 | T | F | elsif ($location =~ /Australia$/) { } |
| 318 | 100 | T | F | if ($ap) |
| 322 | 100 | T | F | if ($ap->parse($l) == 0) |
| 326 | 50 | T | F | if (my $street = $c{'street_name'}) |
| 327 | 50 | T | F | if (my $type = $c{'street_type'}) |
| 331 | 50 | T | F | if $c{'street_direction_suffix'} |
| 337 | 100 | T | F | if (length $c{'subcountry'} == 2) { } |
| 341 | 50 | T | F | if ($country_raw =~ /Canada/i) { } |
| 50 | T | F | elsif ($country_raw =~ /^(United States|USA|US)$/i) { } |
| 50 | T | F | elsif ($country_raw) { } |
| 349 | 50 | T | F | if $c{'subcountry'} |
| 355 | 100 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 358 | 100 | T | F | if ($addr{'number'}) |
| 359 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 366 | 100 | T | F | unless (defined $addr{'country'}) |
| 367 | 50 | T | F | $l =~ /(United States|USA|US)$/i ? : |
| 376 | 100 | T | F | unless $self->{'region_index'}{$rk} |
| 380 | 100 | T | F | if ($location =~ /^(.+?)[,\s]+(United States|USA|US)$/i) |
| 386 | 50 | T | F | unless ($location =~ /\sCounty,/i) |
| 390 | 50 | T | F | if ($href) |
| 391 | 50 | T | F | if (my $state = $href->{'state'}) |
| 392 | 50 | T | F | if length $state > 2 |
| 394 | 50 | T | F | if (my $street = $href->{'street'}) |
| 395 | 100 | T | F | if ($href->{'type'}) |
| 398 | 100 | T | F | if $href->{'suffix'} |
| 399 | 100 | T | F | if $href->{'prefix'} |
| 407 | 50 | T | F | if ($href->{'number'}) |
| 408 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 413 | 100 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 418 | 50 | T | F | if ($street and not $href->{'number'}) |
| 420 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "city", "state", "country"))) |
| 432 | 100 | T | F | if (scalar @parts == 5) |
| 434 | 50 | T | F | if (length $state == 2) |
| 436 | 50 | T | F | if (not $parts[0] =~ /^\d/) { } |
| 438 | 50 | T | F | if ($parts[1] =~ /^(\d+)\s+(.+)/) { } |
| 441 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "number", "road", "city", "state", "country"))) |
| 447 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("name", "road", "city", "state", "country"))) |
| 455 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 465 | 100 | T | F | if ($location =~ /[^,]+,[^,]+,.*England$/ and not $location =~ /[^,]+,[^,]+,[^,]+,.*England$/) |
| 470 | 50 | T | F | unless ("Geo::Address::Parser"->can("parse")) |
| 473 | 50 | T | F | if ("Geo::Address::Parser"->can("parse")) |
| 475 | 0 | T | F | if (my $fields = $addr_parser->parse($location)) |
| 478 | 0 | T | F | if (my $rc = $self->_search($fields, keys %{$fields;})) |
| 486 | 100 | T | F | if ($libpostal_is_installed == 0) |
| 487 | 50 | T | F | if (eval {
do {
require Geo::libpostal;
1
}
}) { } |
| 495 | 50 | T | F | if ($libpostal_is_installed == 1) |
| 497 | 0 | T | F | if (%addr) |
| 499 | 0 | T | F | if $addr{'house_number'} and not $addr{'number'} |
| 500 | 0 | T | F | if $addr{'house'} and not $addr{'name'} |
| 503 | 0 | T | F | if (my $street = $addr{'road'}) |
| 508 | 0 | T | F | if (defined $addr{'state'} and not defined $addr{'country'} and $addr{'state'} eq "england") |
| 514 | 0 | T | F | if ($addr{'country'} and $addr{'state'} || $addr{'state_district'}) |
| 515 | 0 | T | F | if ($addr{'country'} =~ /Canada/i) { } |
| 0 | T | F | elsif ($addr{'country'} =~ /^(United States|USA|US)$/i) { } |
| 518 | 0 | T | F | if $addr{'state'} and length $addr{'state'} > 2 |
| 522 | 0 | T | F | if $addr{'state'} and length $addr{'state'} > 2 |
| 525 | 0 | T | F | if ($addr{'state_district'}) |
| 527 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state_district", "state", "country"))) |
| 531 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("number", "road", "city", "state", "country"))) |
| 534 | 0 | T | F | if ($addr{'number'}) |
| 535 | 0 | T | F | if (my $rc = $self->_search(\%addr, ("road", "city", "state", "country"))) |
| 544 | 100 | T | F | if ($location =~ /^(.+?),\s*([\s\w]+),\s*([\s\w]+),\s*([\w\s]+)$/) |
| 554 | 100 | T | F | if ($addr{'road'} =~ /([\w\s]+),*\s+(.+)/) |
| 558 | 100 | T | F | if ($addr{'road'} =~ /^(\d+)\s+(.+)/) { } |
| 100 | T | F | elsif (my $rc = $self->_search(\%addr, ('name', 'road', 'city', 'state', 'country'))) { } |
| 561 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "number", "road", "city", "state", "country"))) |
| 567 | 100 | T | F | if ($addr{'name'} and not defined $addr{'number'}) |
| 568 | 50 | T | F | if (my $rc = $self->_search(\%addr, ("name", "road", "city", "state", "country"))) |
| 577 | 100 | T | F | unless $location =~ /$left/ |
| 580 | 100 | T | F | if (my $rc = $self->geocode(\%params)) |
| 583 | 100 | T | F | if ($mapped =~ /(.+), (England|UK)$/i) |
| 585 | 100 | T | F | if (my $rc = $self->geocode(\%params)) |
| 623 | 100 | T | F | if (not ref $self) { } |
| 50 | T | F | elsif (ref $self eq 'HASH') { } |
| 624 | 100 | T | F | if (scalar @_) { } |
| 100 | T | F | elsif (not defined $self) { } |
| 50 | T | F | elsif ($self eq __PACKAGE__) { } |
| 642 | 100 | T | F | if (my $latlng = $params{'latlng'}) { } |
| 649 | 100 | T | F | unless (defined $latitude and defined $longitude) |
| 655 | 50 | T | F | unless defined $row->{'latitude'} and defined $row->{'longitude'} |
| 657 | 100 | T | F | unless _equal($row->{'latitude'}, $latitude, 4) and _equal($row->{'longitude'}, $longitude, 4) |
| 662 | 100 | T | F | if (wantarray) { } |
| 666 | 100 | T | F | if ($location =~ /$right/) |
| 700 | 100 | T | F | if ref $args[0] eq "HASH" |
| 701 | 100 | T | F | if ref $args[0] |
| 702 | 100 | T | F | if @args and @args % 2 == 0 |
| 703 | 100 | T | F | if @args == 1 |
| 706 | 100 | T | F | if @args |
| 732 | 100 | T | F | if not defined $state or length $state <= 2 |
| 734 | 100 | T | F | if ($country =~ /^(United States|USA|US)$/i) { } |
| 100 | T | F | elsif ($country =~ /Canada/i) { } |
| 761 | 100 | T | F | if (defined $data->{$column}) { } |
| 100 | T | F | elsif (exists $data->{$column}) { } |
| 762 | 100 | T | F | unless defined $row->{$column} |
| 763 | 100 | T | F | if uc $row->{$column} ne uc $data->{$column} |
| 770 | 100 | T | F | if $matched < 3 |
| 773 | 100 | T | F | $matched >= 4 ? : |
| 100 | T | F | $matched == scalar @columns ? : |
| 799 | 100 | T | F | unless defined $row->{'latitude'} and defined $row->{'longitude'} |
| 800 | 100 | T | F | unless $row->{'latitude'} =~ /^-?\d+\.?\d*$/ |
| 801 | 100 | T | F | unless $row->{'longitude'} =~ /^-?\d+\.?\d*$/ |
| 812 | 100 | T | F | if @{$locs;} < 3 |
| 829 | 100 | T | F | @centres ? : |