Branch Coverage

blib/lib/URI/tel.pm
Criterion Covered Total %
branch 124 194 63.9


line true false branch
108 0 0 unless $str =~ /^[a-zA-Z][a-zA-Z0-9.+\-]*:/o or $class->_no_scheme_ok
125 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)$/) { }
134 5 0 if length $matches[6]
159 1 281 $temp->{'params1'} ? :
282 8 unless length $temp->{'params'}
162 263 27 if ($str =~ /^(?:tel\:)?\+/) { }
2 28 elsif ($temp->{'context'} and not $temp->{'context'} =~ /^[a-zA-Z]/ and substr($temp->{'context'}, 0, 1) eq '+') { }
178 263 27 if not length $temp->{'context'} and length $temp->{'intl_code'}
180 262 0 if ($temp->{'type'} eq 'global' and $temp->{'intl_code'})
197 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'} ? :
201 10 280 if (length $temp->{'params'})
214 10 6 if (lc($p) =~ /^(ext|isdn_subaddress)$/) { }
2 4 elsif (lc $p eq 'phone_context') { }
229 278 2 unless length $hash->{'ext'} or $self->{'is_vanity'}
233 7 283 $temp->{'_has_context_param'} ? :
240 2 47 if length $self->{'cache'}
241 45 2 if length $self->{'subscriber'}
243 21 26 if length $self->{'ext'}
244 0 47 if length $self->{'isdn_subaddress'}
245 31 16 if (length $self->{'context'})
247 15 16 if (not $self->{'_prepend_context'}) { }
1 15 elsif (not $self->{'subscriber'} =~ /^\+\d+/ || $self->{'context'} =~ /[a-zA-Z]+/) { }
257 19 28 if (length $self->{'intl_code'} and not $self->{'_intl_code_from_context'})
259 0 0 unless ($self->{'subscriber'} =~ /^\+\d+/ or $uri[0] =~ /^tel\:\+/)
267 8 0 if length $priv->{$k}
269 28 19 if scalar @params
282 19 2 unless $str =~ /[a-zA-Z]+/ and $self->is_vanity
289 14 12 $p != -1 ? :
300 10 11 if length $self->{'ext'}
301 0 21 if length $self->{'isdn_subaddress'}
302 13 8 if length $self->{'context'}
303 10 11 if length $self->{'intl_code'}
317 0 1 unless length $cc
326 1 216 if ($this->{'cc'} eq $cc)
350 14 266 if (@_)
353 0 14 unless ($str =~ /^$DESCRIPTOR$/)
363 3 11 if (not length $self->{'intl_code'} and my $code = $self->_extract_intl_code($str))
379 0 11 wantarray ? :
11 255 unless length $code
381 0 255 if ($code =~ /^\+($IDD_RE)/)
385 0 0 wantarray ? :
0 255 unless exists $hash->{$code}
387 0 255 wantarray ? :
394 0 245 if ref $ref ne 'ARRAY'
402 0 245 if ref $ref ne 'ARRAY'
404 0 245 wantarray ? :
411 0 0 if ref $ref ne 'ARRAY'
419 0 0 if ref $ref ne 'ARRAY'
421 0 0 wantarray ? :
431 0 0 if ($err and length $err)
436 0 0 if $caller ne 'URI::tel'
452 11 22 if (@_)
455 0 11 if (length $val and not $val =~ /^[$PHONEDIGIT]+$/)
469 10 266 if (@_)
472 0 10 if (length $val and not $val =~ /^[$PHONEDIGIT]+$/)
511 0 21 if (@_)
514 0 0 if (length $val and not $val =~ /^$URIC$/)
533 1 0 if (@_)
545 0 3 if (length $name)
548 0 0 if (defined $val) { }
550 0 0 unless ($name =~ /^$PNAME$/)
555 0 0 if (length $val) { }
557 0 0 unless ($val =~ /^$PVALUE$/)
573 0 0 wantarray ? :
576 0 3 wantarray ? :
582 0 21 if (@_)
585 0 0 if (length $val and not $val =~ /^$TEL_SUBSCRIBER$/)
611 268 3 if ($str2 =~ /^\+($IDD_RE)/)
615 268 0 if (exists $COUNTRIES->{$idd})
623 268 9 if ($check eq $idd)
644 42 758 unless substr($intl_code, $i, 1) =~ /^\d$/
651 0 758 if (substr($subscriber, $j, 1) ne substr($intl_code, $i, 1))
671 0 0 unless ref $other and $other->isa('URI::tel')
676 0 0 if $sub ne $sub2
679 0 0 if $context ne $context2
682 0 0 if $ext ne $ext2
687 0 0 unless exists $priv2->{$k}
688 0 0 if $priv->{$k} ne $priv2->{$k}
692 0 0 unless exists $priv->{$k}
693 0 0 if $priv2->{$k} ne $priv->{$k}
707 0 10 @_ ? :
712 16 6 defined $_ ? :
720 2 537 if (not %$COUNTRIES)
728 456 504 unless $in or /^\#{2} BEGIN DATA/
729 2 502 if /^\#{2} END DATA/
731 2 500 if /^\#{2} BEGIN DATA/
733 10 490 index($idd, ',') != -1 ? :
746 490 24 unless exists $hash->{$k2}