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 6013 unless ref $argvs eq "HASH"
67 0 6013 unless exists $argvs->{'address'}
68 1 6012 unless $argvs->{'address'}
73 5998 14 if ($argvs->{'address'} =~ /\A([^\s]+)[\@]([^\@]+)\z/ or $argvs->{'address'} =~ /\A(["].+?["])[\@]([^\@]+)\z/) { }
76 6 5992 if substr($lpart, 0, 1) eq $e
77 21 23971 if substr($dpart, -1, 1) eq $e
81 5997 1 unless ($email)
84 6 5991 if $email
87 7 5991 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 3942 if index($argv1, "\r") > -1
150 5 3937 if index($argv1, "\n") > -1
154 6935 116971 if ($delimiters->{$e}) { }
156 563 6372 if ($e eq ",")
158 2 561 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 560 $p ? :
184 2273 4099 if ($e eq "<")
186 0 2273 if ($v->{'address'}) { }
187 0 0 $p ? :
198 2277 1822 if ($e eq ">")
200 2273 4 if ($readcursor & $indicators->{'email-address'}) { }
208 0 4 $p ? :
213 82 1740 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 1658 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 1658 0 if ($e eq "\"")
278 0 1658 if ($p) { }
285 1658 0 unless $readcursor & $indicators->{'quoted-string'}
286 0 0 if $v->{'name'} =~ /\x5c["]\z/
294 52519 64452 $p ? :
299 2271 1671 if ($v->{'address'}) { }
305 1645 26 if ($v->{'name'} =~ /$validemail/) { }
5 21 elsif ('Sisimai::RFC5322'->is_mailerdaemon($v->{'name'})) { }
314 1650 21 if ($v->{'address'})
316 0 1650 if ($v->{'address'} =~ /(.*)([(].+[)])(.*)/)
328 0 3923 if $e->{'address'} =~ /[^\x20-\x7e]/
329 20 3903 unless ($e->{'address'} =~ /\A.+[\@].+\z/)
331 0 20 unless "Sisimai::RFC5322"->is_mailerdaemon($e->{'address'})
338 3918 5 unless $e->{'address'} =~ /[\@]\[[0-9A-Za-z:\.]+\]\z/
340 3903 20 unless ($e->{'address'} =~ /\A["].+["][\@]/)
342 5 3898 if substr($e->{'address'}, 0, 1) eq "\""
343 5 3898 if substr($e->{'address'}, -1, 1) eq "\""
346 833 3090 if ($addrs) { }
355 9 6171 if index($e->{$f}, " ") == 0
356 1918 4262 if substr($e->{$f}, -1, 1) eq " "
358 3028 62 unless $e->{'comment'} =~ /\A[(].+[)]\z/
359 2309 781 unless $e->{'name'} =~ /\A["].+["]\z/
360 3078 12 unless $e->{'name'} =~ /\A["].+["][\@]/
361 785 2305 if substr($e->{'name'}, -1, 1) eq "\""
366 21 3921 unless scalar @$addrtables
377 11 793 unless scalar @$addrs
390 5997 2 unless $local =~ /\A[-_\w]+?[+](\w[-._\w]+\w)[=](\w[-.\w]+\w)\z/
392 2 0 if "Sisimai::RFC5322"->is_emailaddress($verp0)
401 31 5967 unless "Sisimai::RFC5322"->is_emailaddress($email)
405 5960 7 unless $local[0] =~ /\A([-_\w]+?)[+].+\z/