Branch Coverage

blib/lib/WWW/Mechanize/Firefox.pm
Criterion Covered Total %
branch 3 406 0.7


line true false branch
193 61 0 unless (ref $args{'app'})
195 3 363 exists $args{$_} ? :
202 0 0 if (my $tabname = delete $args{'tab'})
203 0 0 if (not ref $tabname) { }
0 0 elsif ('MozRepl::RemoteObject::Instance' eq ref $tabname) { }
204 0 0 if ($tabname eq 'current') { }
216 0 0 if (not $args{'tab'}) { }
217 0 0 if (not delete $args{'create'}) { }
227 0 0 unless ($args{'tab'})
228 0 0 exists $args{'autoclose'} ? :
234 0 0 if (delete $args{'autoclose'})
237 0 0 unless (exists $args{'autodie'})
248 0 0 unless (exists $args{'frames'})
253 0 0 unless $args{'tab'}
255 0 0 if (delete $args{'activate'})
270 0 0 if (defined $agent)
280 0 0 if (my $app = delete $self->{'app'})
304 0 0 if (defined $name) { }
0 0 elsif ($name eq '') { }
319 0 0 if @_ == 2
335 0 0 if @_ > 1
352 0 0 if @_ > 1
425 0 0 if (my $opt_js = $WWW::Mechanize::Firefox::known_options{$opt}) { }
531 0 0 if (keys %$env)
686 0 0 if $_[0]->bridge
765 0 0 if $style->{'display'} eq 'none'
816 0 0 if ($options{'no_cache'})
819 0 0 unless (exists $options{'synchronize'})
822 0 0 unless (ref $options{'synchronize'})
824 0 0 $options{'synchronize'} ? :
829 0 0 if (my $target = delete $options{':content_file'}) { }
868 0 0 unless ('File::Spec'->file_name_is_absolute($fn))
918 0 0 if ($options{'no_cache'})
921 0 0 unless (exists $options{'synchronize'})
924 0 0 unless (ref $options{'synchronize'})
926 0 0 $options{'synchronize'} ? :
931 0 0 unless ($options{'data'})
939 0 0 if ($options{'charset'})
1073 0 0 if ($self->{'custom_header_observer'} and @headers)
1214 0 0 if (@args <= 2 and ref $args[0] eq 'MozRepl::RemoteObject::Instance')
1219 0 0 unless ref $_->[1]
1274 0 0 if $i == 30
1276 0 0 if ((my $s = $element->{'busy'} || 0) < 1)
1377 0 0 if ($STATE_STOP == $flags or ($flags & ($STATE_STOP | $STATE_IS_DOCUMENT)) == ($STATE_STOP | $STATE_IS_DOCUMENT))
1379 0 0 if ($status == 0) { }
1405 0 0 if (ref $events and ref $events eq 'CODE')
1410 0 0 unless ref $events
1422 0 0 if (my $h = $self->{'on_event'})
1423 0 0 if (ref $h eq 'CODE') { }
1438 0 0 if ($need_response)
1468 0 0 if ($options{'headers'})
1487 0 0 unless (exists $options{'headers'})
1493 0 0 if (my $js_res = $self->{'response'})
1499 0 0 if ($ouri)
1503 0 0 if ($scheme and $scheme =~ /^https?/) { }
0 0 elsif ($scheme and $scheme =~ /^(file|data|about)\b/) { }
1519 0 0 if ($eff_url =~ /^about:neterror/)
1544 0 0 if $res
1579 0 0 if ($bypass_cache)
1592 0 0 if (@$events) { }
1612 0 0 unless (ref $synchronize)
1613 0 0 $synchronize ? :
1636 0 0 unless (ref $synchronize)
1637 0 0 $synchronize ? :
1733 0 0 if ($format eq 'html') { }
0 0 elsif ($format eq 'text') { }
1743 0 0 unless (utf8::is_utf8($content))
1854 0 0 unless (-f $localname)
1855 0 0 unless open my $fh, '>', $localname
1859 0 0 if ($resource_directory)
1863 0 0 unless (-d $resource_directory)
1864 0 0 unless mkdir $resource_directory
1945 0 0 unless (-f $localname)
1946 0 0 unless open my $fh, '>', $localname
1951 0 0 unless ($options{'progress'})
1957 0 0 if ($res->{'currentState'} == $STATE_FINISHED)
2052 0 0 if $options{'wait'}
2074 0 0 if $base
2152 0 0 unless (exists $link_spec{$tag})
2157 0 0 if ($tag eq 'meta')
2159 0 0 if ($content =~ /^\d+\s*;\s*url\s*=\s*(\S+)/i) { }
2161 0 0 unless $url =~ s/^"(.+)"$/$1/
2168 0 0 if (defined $url) { }
2196 0 0 if ($self->{'autodie'}) { }
2206 0 0 if ($self->{'autodie'}) { }
2207 0 0 if (not $self->status =~ /^2/)
2303 0 0 unless (grep {exists $options->{$_};} 'single', 'one', 'maybe', 'all', 'any')
2311 0 0 unless $WWW::Mechanize::Firefox::xpath_quote{$1}
2331 0 0 if (exists $opts{$_})
2338 0 0 if ($single and exists $opts{'n'})
2342 0 0 if $n ne 'all'
2361 0 0 if length $op
2364 0 0 if (exists $opts{$key})
2371 0 0 if (my $p = delete $opts{'url'})
2375 0 0 if (my $p = delete $opts{'tag'})
2378 0 0 if (my $p = delete $opts{'tag_regex'})
2385 0 0 if (@full) { }
2395 0 0 if (keys %opts)
2406 0 0 if ($one)
2407 0 0 if (0 == @res)
2408 0 0 if ($single)
2409 0 0 if (1 < @res)
2418 0 0 if ($n eq 'all')
2442 0 0 if 'all' eq ($opts{'n'} || '')
2443 0 0 if (my $link = $self->find_link_dom('frames', 0, %opts)) { }
2472 0 0 if wantarray
2495 0 0 if wantarray
2516 0 0 if (@_ == 2) { }
2641 0 0 unless (exists $options{'all'} or $return_first_element)
2642 0 0 if defined wantarray and not wantarray
2660 0 0 $_->{'resultType'} == $self->{'XpathResultTypes'}{'ORDERED_NODE_SNAPSHOT_TYPE'} || $_->{'resultType'} == $self->{'XpathResultTypes'}{'UNORDERED_NODE_SNAPSHOT_TYPE'} || $_->{'resultType'} == $self->{'XpathResultTypes'}{'ORDERED_NODE_ITERATOR_TYPE'} || $_->{'resultType'} == $self->{'XpathResultTypes'}{'UNORDERED_NODE_ITERATOR_TYPE'} ? :
0 0 !defined($_->{'resultType'}) ? :
2668 0 0 if (not $zero_allowed and @res == 0)
2673 0 0 if (not $two_allowed and @res > 1)
2679 0 0 $return_first_element ? :
2734 0 0 if ('ARRAY' ne (ref $query || ''))
2738 0 0 if ($options{'node'}) { }
2753 0 0 unless (wantarray)
2759 0 0 unless (exists $options{'frames'})
2833 0 0 if (@res and $options{'return_first'} and grep {$_->{'resultSize'};} @res)
2838 0 0 if ($options{'frames'} and not $options{'node'})
2869 0 0 if ('ARRAY' ne (ref $query || ''))
2872 0 0 $options{'node'} ? :
2896 0 0 if ('ARRAY' ne (ref $query || ''))
2983 0 0 if (not defined $name) { }
0 0 elsif (ref $name and &blessed($name) and $name->can('__click')) { }
0 0 elsif (ref $name eq 'HASH') { }
2992 0 0 if (exists $options{'name'})
2997 0 0 if ($options{'name'} eq '')
3005 0 0 if (not exists $options{'synchronize'}) { }
0 0 elsif (not ref $options{'synchronize'}) { }
3009 0 0 $options{'synchronize'} ? :
3013 0 0 if ($options{'dom'}) { }
3025 0 0 if (defined wantarray)
3073 0 0 if (exists $options{'input'}) { }
0 0 elsif (exists $options{'name'}) { }
0 0 elsif (exists $options{'value'}) { }
0 0 elsif (exists $options{'id'}) { }
0 0 elsif (exists $options{'number'}) { }
3097 0 0 if ($node) { }
3220 0 0 if (ref $fields[0] eq 'HASH')
3255 0 0 wantarray ? :
3316 0 0 if (@_ == 3) { }
3349 0 0 if ($name =~ s/^\^//) { }
0 0 elsif ($name =~ s/^#//) { }
0 0 elsif ($name =~ s/^\.//) { }
3356 0 0 if (&blessed($name)) { }
3378 0 0 unless ref $pre
3380 0 0 unless ref $post
3383 0 0 if ($fields[0]) { }
3385 0 0 if ($set_value)
3390 0 0 if ('select' eq $tag) { }
3403 0 0 unless defined wantarray
3407 0 0 if ('SELECT' eq uc $tag) { }
3410 0 0 if (wantarray) { }
3453 0 0 unless ($field)
3463 0 0 if ('HASH' eq ref $value or '') { }
0 0 elsif ('ARRAY' eq ref $value or '') { }
3465 0 0 unless $_ eq 'n'
3470 0 0 ref $value->{'n'} ? :
3479 0 0 if ($deselect)
3485 0 0 if ($single)
3487 0 0 0 + @by_index ? :
3488 0 0 0 + @by_value ? :
3524 0 0 if @_ < 4
3529 0 0 if (not defined $name) { }
0 0 elsif (ref $name and &blessed($name) and $name->can('__click')) { }
0 0 elsif (ref $name eq 'HASH') { }
3539 0 0 if (exists $options{'name'})
3541 0 0 if ($name =~ s/^\^//) { }
0 0 elsif ($name =~ s/^#//) { }
0 0 elsif ($name =~ s/^\.//) { }
3549 0 0 if $value
3553 0 0 defined $value ? :
3557 0 0 defined $value ? :
3562 0 0 if ($options{'dom'}) { }
3570 0 0 if ($set xor $is_set)
3571 0 0 if ($set) { }
3610 0 0 if ($dom_form) { }
3672 0 0 unless ($form)
3673 0 0 if ($fields = delete $options{'with_fields'}) { }
3676 0 0 unless ($form)
3686 0 0 unless ($form)
3712 0 0 unless ($f)
3724 0 0 if (ref $v)
3726 0 0 unless $num == 1
3760 0 0 if ($form)
3771 0 0 if (@values > @visible_fields) { }
3819 0 0 if (2 == @_) { }
3825 0 0 unless ($options{'dom'})
3830 0 0 unless $options{'dom'}
3917 0 0 if (2 == @_) { }
3929 0 0 if ($timeout)
3936 0 0 unless ($node)
3940 0 0 unless $node
3944 0 0 if ($node and time >= $timeout_after)
3962 0 0 if (exists $options{$meth})
3968 0 0 unless $method
4005 0 0 ref $spec ? :
4008 0 0 if (not ref $spec || $spec =~ /\D/ and $spec == 1)
4015 0 0 if (not grep({ref $_;} @spec)) { }
4025 0 0 ref $_ ? :
4150 0 0 $scr ? :