Branch Coverage

blib/lib/URI/tel.pm
Criterion Covered Total %
branch 127 206 61.6


line true false branch
112 0 0 unless $str =~ /^[a-zA-Z][a-zA-Z0-9.+\-]*:/o or $class->_no_scheme_ok
127 262 28 if (@matches = $str =~ /^((?:tel\:)?$GLOBAL_NUMBER)$/) { }
5 23 elsif (@matches = $str =~ /^((?:tel\:)?$LOCAL_NUMBER)$/) { }
19 4 elsif (@matches = $str =~ /^((?:tel\:)?$OTHER)$/) { }
2 2 elsif (@matches = $str =~ /^((?:tel\:)?$VANITY)$/) { }
136 5 0 if length $matches[6]
153 1 1 if ($prefix) { }
171 1 281 $temp->{'params1'} ? :
282 8 unless length $temp->{'params'}
174 263 27 if ($str =~ /^(?:tel\:)?\+/) { }
2 28 elsif ($temp->{'context'} and not $temp->{'context'} =~ /^[a-zA-Z]/ and substr($temp->{'context'}, 0, 1) eq '+') { }
190 263 27 if not length $temp->{'context'} and length $temp->{'intl_code'}
192 262 0 if ($temp->{'type'} eq "global" and $temp->{'intl_code'})
210 3 287 $orig ne $str ? :
262 28 $temp->{'type'} eq 'global' ? :
24 266 $temp->{'type'} eq 'local' || $temp->{'type'} eq 'other' ? :
19 271 $temp->{'type'} eq 'other' ? :
2 288 $temp->{'type'} eq 'vanity' ? :
1 281 $temp->{'last_param1'} ? :
8 282 $temp->{'last_param'} ? :
213 10 280 if (length $temp->{'params'})
226 10 6 if (lc($p) =~ /^(ext|isdn_subaddress)$/) { }
2 4 elsif (lc $p eq 'phone_context') { }
241 278 2 unless length $hash->{'ext'} or $self->{'is_vanity'}
245 7 283 $temp->{'_has_context_param'} ? :
252 2 47 if length $self->{'cache'}
253 45 2 if length $self->{'subscriber'}
255 21 26 if length $self->{'ext'}
256 0 47 if length $self->{'isdn_subaddress'}
257 31 16 if (length $self->{'context'})
259 15 16 if (not $self->{'_prepend_context'}) { }
1 15 elsif (not $self->{'subscriber'} =~ /^\+\d+/ || $self->{'context'} =~ /[a-zA-Z]+/) { }
269 19 28 if (length $self->{'intl_code'} and not $self->{'_intl_code_from_context'})
271 0 0 unless ($self->{'subscriber'} =~ /^\+\d+/ or $uri[0] =~ /^tel\:\+/)
279 8 0 if length $priv->{$k}
281 28 19 if scalar @params
294 19 2 unless $str =~ /[a-zA-Z]+/ and $self->is_vanity
301 14 12 $p != -1 ? :
312 10 11 if length $self->{'ext'}
313 0 21 if length $self->{'isdn_subaddress'}
314 13 8 if length $self->{'context'}
315 10 11 if length $self->{'intl_code'}
329 0 1 unless length $cc
338 1 216 if ($this->{'cc'} eq $cc)
362 14 266 if (@_)
365 0 14 unless ($str =~ /^$DESCRIPTOR$/)
375 3 11 if (not length $self->{'intl_code'} and my $code = $self->_extract_intl_code($str))
391 0 11 wantarray ? :
11 255 unless length $code
393 0 255 if ($code =~ /^\+($IDD_RE)/)
397 0 0 wantarray ? :
0 255 unless exists $hash->{$code}
399 0 255 wantarray ? :
406 0 245 if ref $ref ne "ARRAY"
414 0 245 if ref $ref ne "ARRAY"
416 0 245 wantarray ? :
423 0 0 if ref $ref ne "ARRAY"
431 0 0 if ref $ref ne "ARRAY"
433 0 0 wantarray ? :
443 0 0 if ($err and length $err)
448 0 0 if $caller ne "URI::tel"
464 11 22 if (@_)
467 0 11 if (length $val and not $val =~ /^[$PHONEDIGIT]+$/)
481 10 266 if (@_)
484 0 10 if (length $val and not $val =~ /^[$PHONEDIGIT]+$/)
524 0 21 if (@_)
527 0 0 if (length $val and not $val =~ /^$URIC$/)
541 0 21 if (@_)
545 0 0 if (length $val)
548 0 0 if (@matches = !($val =~ /^((?:tel\:)?$LOCAL_NUMBER)$/)) { }
554 0 0 if (length $ref->{'context'})
560 0 0 if (not $ref->{'context'} =~ /^[a-zA-Z]/ and substr($ref->{'context'}, 0, 1) eq "+")
591 1 0 if (@_)
603 0 3 if (length $name)
606 0 0 if (defined $val) { }
608 0 0 unless ($name =~ /^$PNAME$/)
613 0 0 if (length $val) { }
615 0 0 unless ($val =~ /^$PVALUE$/)
631 0 0 wantarray ? :
634 0 3 wantarray ? :
640 0 21 if (@_)
643 0 0 if (length $val and not $val =~ /^$TEL_SUBSCRIBER$/)
668 269 4 if ($str2 =~ /^\+($IDD_RE)/)
671 269 0 if (exists $COUNTRIES->{$idd})
678 269 9 if ($check eq $idd)
698 43 759 unless substr($intl_code, $i, 1) =~ /^\d$/
705 0 759 if (substr($subscriber, $j, 1) ne substr($intl_code, $i, 1))
725 0 0 unless ref $other and $other->isa("URI::tel")
730 0 0 if $sub ne $sub2
733 0 0 if $context ne $context2
736 0 0 if $ext ne $ext2
741 0 0 unless exists $priv2->{$k}
742 0 0 if $priv->{$k} ne $priv2->{$k}
746 0 0 unless exists $priv->{$k}
747 0 0 if $priv2->{$k} ne $priv->{$k}
761 0 10 @_ ? :
766 16 6 if (defined $_) { }
774 2 539 if (not %$COUNTRIES)
782 456 504 unless $in or /^\#{2} BEGIN DATA/
783 2 502 if /^\#{2} END DATA/
785 2 500 if /^\#{2} BEGIN DATA/
787 10 490 index($idd, ',') != -1 ? :
800 490 24 unless exists $hash->{$k2}