Condition Coverage

blib/lib/Net/SIP/Simple.pm
Criterion Covered Total %
condition 21 70 30.0


and 3 conditions

line !l l&&!r l&&r condition
118 0 1 53 $legs and ref $legs ne 'ARRAY'
194 0 34 4 not defined $domain and $from =~ /\bsips?:[^\@]+\@([\w\-\.]+)/
358 0 0 0 $code and $code =~ /^2\d\d/
516 18 0 1 %auth && $self->create_auth(%auth)

or 2 conditions

line l !l condition
90 0 54 delete $args{'options'} || {}
119 54 0 $legs ||= []
124 0 0 shift() // \0
354 0 0 $cb_final ||= \$stopvar
470 18 0 UNIVERSAL::can($call, 'receive') || die()

or 3 conditions

line l !l&&r !l&&!r condition
108 0 54 0 $disp && $disp->loop || delete $args{'loop'} || 'Net::SIP::Dispatcher::Eventloop'->new
109 0 0 54 delete $args{'outgoing_proxy'} || delete $args{'proxy'}
110 26 0 28 delete $args{'domain2proxy'} || delete $args{'d2p'}
111 0 54 0 $disp ||= 'Net::SIP::Dispatcher'->new([], $loop, 'domain2proxy', $d2p)
117 1 53 0 delete $args{'legs'} || delete $args{'leg'}
126 0 0 0 not defined $ip or ref $ip
188 0 0 54 delete $args{'routes'} || delete $args{'route'}
197 0 38 0 $from =~ /\s/ or $from =~ /\@/
294 73 0 0 UNIVERSAL::can('Net::SIP::Simple::RTP', $method) || UNIVERSAL::can('Net::SIP::Simple::RTP', 'media_' . $method) || croak("no such method '${method}' in Net::SIP::Simple::RTP")
320 0 0 0 delete $args{'registrar'} || $self->{'registrar'} || croak('no registrar')
335 0 0 0 delete $args{'from'} || $self->{'from'} || croak('unknown from')
337 0 0 0 delete $args{'contact'} || $self->{'contact'}
349 0 0 0 delete $args{'auth'} || $self->{'auth'}
367 0 0 0 not defined $exp or $e < $exp
409 0 35 0 $to =~ /\s/ or $to =~ /\@/
416 0 35 0 $ctx || $to