Branch Coverage

blib/lib/Email/Valid.pm
Criterion Covered Total %
branch 67 140 47.8


line true false branch
75 67 4 ref $self ? :
76 1 70 unless @params
78 16 54 unless (@params > 1 and $params[0] =~ /^-/)
80 0 16 unless @names
98 3 0 ref $self ? :
3 18 unless @_
100 16 2 if ref $self
109 0 32 unless my $addr = $args{'address'}
110 0 32 if &blessed($addr) and $addr->isa("Mail::Address")
112 3 29 if $addr =~ /\P{ASCII}/ or not $addr =~ /^$RFC822PAT$/o
125 0 0 if $^O eq "MSWin32" and -x "$file.exe" and not -d _
126 0 0 if -x $file and not -d _
135 2 0 unless $@
145 0 6 unless defined $Resolver
150 3 3 if (@mx_entries)
153 0 3 if ($nmx == 1 and length $mx_entries[0]->exchange == 0)
159 1 2 unless $query
161 2 0 unless $a_rr->type ne "A"
168 0 4 $ans ? :
170 0 4 if (@a_rrs)
172 0 0 unless $a_rr->type ne "A"
186 0 0 unless ($Nslookup_Path)
187 0 0 unless $Nslookup_Path = $self->_find_nslookup
192 0 0 if gethostbyname $host
195 0 0 if ($^O eq 'MSWin32' or $^O eq 'Cygwin') { }
201 0 0 if $?
202 0 0 if $Debug
203 0 0 unless $response =~ /$NSLOOKUP_PAT/io
207 0 0 if (my $fh = 'IO::File'->new('-|')) { }
209 0 0 if $Debug
211 0 0 unless $response =~ /$NSLOOKUP_PAT/io
214 0 0 unless open OLDERR, ">&STDERR"
215 0 0 unless open STDERR, ">&STDOUT"
230 0 0 unless (eval { do { require Net::Domain::TLD; "Net::Domain::TLD"->VERSION("1.65"); 1 } })
239 0 0 defined $invalid_tlds{$tld} ? :
247 0 6 unless my $host = $self->_host($args{"address"})
249 0 6 unless $DNS_Method
251 6 0 if ($DNS_Method eq 'Net::DNS') { }
0 0 elsif ($DNS_Method eq 'nslookup') { }
252 0 6 if $Debug
255 0 0 if $Debug
269 0 6 if &blessed($addr) and $addr->isa("Mail::Address")
271 0 6 $addr =~ /^.*@(.*)$/ ? :
290 1 0 if $addr =~ /aol\.com$/i
291 0 1 if $addr =~ /compuserve\.com$/i
307 1 27 unless defined $localpart and length $localpart <= 64
315 0 25 unless $string and length $string <= 255
316 0 25 if $string =~ /\.\./
320 3 51 unless $self->_is_domain_label($label)
327 3 51 unless $string =~ /\A [A-Z0-9] # must start with an alnum (?: [-A-Z0-9]* # then maybe a dash or alnum [A-Z0-9] # finally ending with an alnum )? # lather, rinse, repeat \z/xi
344 0 32 unless my $addr = $args{'address'}
345 2 30 if &blessed($addr) and $addr->isa("Mail::Address")
347 1 31 if $args{'fudge'}
348 3 29 unless $self->rfc822("-address", $addr)
352 0 29 unless $addr
354 1 28 if (length $addr->address > 254)
358 0 28 if ($args{'local_rules'})
359 0 0 unless $self->_local_rules($addr->user, $addr->host)
363 28 0 if ($args{'localpart'})
364 1 27 unless $self->_valid_local_part($addr->user) > 0
372 25 1 if (not $ip_ok and $args{'fqdn'})
375 5 20 unless $ip_ok or $domain_parts and $domain_parts > 1
379 0 21 if (not $ip_ok and $args{'tldcheck'})
380 0 0 unless $self->tld($addr->host)
383 6 16 if ($args{'mxcheck'})
386 4 2 unless $self->mx($addr->host)
389 0 18 wantarray ? :
398 1 0 if $name eq "DESTROY"
399 0 0 unless $AUTOLOAD{$name}
401 0 0 @_ ? :