Branch Coverage

lib/Sisimai/Address.pm
Criterion Covered Total %
branch 114 144 79.1


line true false branch
29 0 17 unless $atype =~ /\A(?:r|s)\z/
30 16 1 $atype eq 'r' ? :
43 5 44 unless $addrs
44 0 44 unless scalar @$addrs
66 0 5953 unless ref $argvs eq "HASH"
67 0 5953 unless exists $argvs->{'address'}
68 1 5952 unless $argvs->{'address'}
73 5938 14 if ($argvs->{'address'} =~ /\A([^\s]+)[\@]([^\@]+)\z/ or $argvs->{'address'} =~ /\A(["].+?["])[\@]([^\@]+)\z/) { }
76 6 5932 if substr($lpart, 0, 1) eq $e
77 21 23731 if substr($dpart, -1, 1) eq $e
81 5937 1 unless ($email)
84 6 5931 if $email
87 7 5931 if ($email =~ /\A.+[\@].+?\z/)
89 6 1 if ($alias) { }
104 0 14 unless "Sisimai::RFC5322"->is_mailerdaemon($argvs->{'address'})
105 0 14 if rindex($argvs->{'address'}, " ") > -1
149 0 3912 if index($argv1, "\r") > -1
150 5 3907 if index($argv1, "\n") > -1
154 6881 116173 if ($delimiters->{$e}) { }
156 557 6324 if ($e eq ",")
158 2 555 if (index($v->{'address'}, '<') == 0 and rindex($v->{'address'}, '@') > -1 and substr($v->{'address'}, -1, 1) eq '>') { }
162 0 2 if ($readcursor & $indicators->{'comment-block'}) { }
0 2 elsif ($readcursor & $indicators->{'quoted-string'}) { }
179 1 554 $p ? :
184 2255 4069 if ($e eq "<")
186 0 2255 if ($v->{'address'}) { }
187 0 0 $p ? :
198 2259 1810 if ($e eq ">")
200 2255 4 if ($readcursor & $indicators->{'email-address'}) { }
208 0 4 $p ? :
213 82 1728 if ($e eq "(")
215 2 80 if ($readcursor & $indicators->{'email-address'}) { }
0 80 elsif ($readcursor & $indicators->{'comment-block'}) { }
0 80 elsif ($readcursor & $indicators->{'quoted-string'}) { }
217 0 2 if (rindex($v->{'address'}, '"') > -1) { }
224 0 2 if substr($v->{'comment'}, -1, 1) eq ")"
230 0 0 if substr($v->{'comment'}, -1, 1) eq ")"
240 5 75 if substr($v->{'comment'}, -1, 1) eq ")"
247 82 1646 if ($e eq ")")
249 2 80 if ($readcursor & $indicators->{'email-address'}) { }
80 0 elsif ($readcursor & $indicators->{'comment-block'}) { }
251 0 2 if (rindex($v->{'address'}, '"') > -1) { }
276 1646 0 if ($e eq "\"")
278 0 1646 if ($p) { }
285 1646 0 unless $readcursor & $indicators->{'quoted-string'}
286 0 0 if $v->{'name'} =~ /\x5c["]\z/
294 52141 64032 $p ? :
299 2253 1659 if ($v->{'address'}) { }
305 1633 26 if ($v->{'name'} =~ /$validemail/) { }
5 21 elsif ('Sisimai::RFC5322'->is_mailerdaemon($v->{'name'})) { }
314 1638 21 if ($v->{'address'})
316 0 1638 if ($v->{'address'} =~ /(.*)([(].+[)])(.*)/)
328 0 3893 if $e->{'address'} =~ /[^\x20-\x7e]/
329 20 3873 unless ($e->{'address'} =~ /\A.+[\@].+\z/)
331 0 20 unless "Sisimai::RFC5322"->is_mailerdaemon($e->{'address'})
338 3888 5 unless $e->{'address'} =~ /[\@]\[[0-9A-Za-z:\.]+\]\z/
340 3873 20 unless ($e->{'address'} =~ /\A["].+["][\@]/)
342 5 3868 if substr($e->{'address'}, 0, 1) eq "\""
343 5 3868 if substr($e->{'address'}, -1, 1) eq "\""
346 833 3060 if ($addrs) { }
355 9 6111 if index($e->{$f}, " ") == 0
356 1900 4220 if substr($e->{$f}, -1, 1) eq " "
358 2998 62 unless $e->{'comment'} =~ /\A[(].+[)]\z/
359 2285 775 unless $e->{'name'} =~ /\A["].+["]\z/
360 3048 12 unless $e->{'name'} =~ /\A["].+["][\@]/
361 779 2281 if substr($e->{'name'}, -1, 1) eq "\""
366 21 3891 unless scalar @$addrtables
377 11 793 unless scalar @$addrs
390 5937 2 unless $local =~ /\A[-_\w]+?[+](\w[-._\w]+\w)[=](\w[-.\w]+\w)\z/
392 2 0 if "Sisimai::RFC5322"->is_emailaddress($verp0)
401 31 5907 unless "Sisimai::RFC5322"->is_emailaddress($email)
405 5900 7 unless $local[0] =~ /\A([-_\w]+?)[+].+\z/