Branch Coverage

lib/JavaScript/Embedded.pm
Criterion Covered Total %
branch 139 168 82.7


line true false branch
11 1 55 unless -d "$JavaScript::Embedded::Config{'installsitelib'}/_Inline"
147 2 72 if ($timeout)
148 1 1 unless JavaScript::Embedded::Vm::duk_sv_is_number($timeout)
151 6 67 if ($max_memory)
152 1 5 unless JavaScript::Embedded::Vm::duk_sv_is_number($max_memory)
153 1 4 if $max_memory < 262144
199 2 44 if ($name =~ /\./)
205 0 2 if ($duk->peval_string($others) != 0)
210 0 2 if ($type != 6)
231 0 1 if ($duk->peval != 0)
244 0 6 if ($duk->peval != 0)
258 9 22 if ($duk->peval_string($string) != 0)
282 0 71 unless $duk
289 71 0 if ($self->{'pid'} and $self->{'pid'} == $$)
319 0 56 $^O eq 'MSWin32' ? :
357 100 186864 if (my $ref = ref $val) { }
358 1 99 if ($ref eq 'JavaScript::Embedded::NULL') { }
6 93 elsif ($BOOL_PACKAGES->{$ref}) { }
12 81 elsif ($ref eq 'ARRAY') { }
16 65 elsif ($ref eq 'HASH') { }
46 19 elsif ($ref eq 'CODE') { }
11 8 elsif ($ref eq 'JavaScript::Embedded::Object') { }
0 8 elsif ($ref eq 'JavaScript::Embedded::Function') { }
0 8 elsif ($ref eq 'JavaScript::Embedded::Pointer') { }
6 2 elsif ($ref eq 'JavaScript::Embedded::Buffer') { }
2 0 elsif ($ref eq 'SCALAR') { }
363 3 3 if ($val) { }
376 2 30 if ($$stash{$val->[$idx]}) { }
391 1 28 if ($v and $stash->{$v}) { }
418 5 1 defined $$val ? :
424 1 1 $$val ? :
432 3 186861 if (not defined $val) { }
186431 430 elsif (duk_sv_is_number($val)) { }
448 0 237 unless ($heapptr)
466 173 12157 if ($type == 1) { }
8505 3652 elsif ($type == 5) { }
2314 1338 elsif ($type == 4) { }
5 1333 elsif ($type == 7) { }
1288 45 elsif ($type == 6) { }
39 6 elsif ($type == 3) { }
3 3 elsif ($type == 2) { }
3 0 elsif ($type == 8) { }
485 444 844 if ($self->is_function($index))
494 5 4 if ($self->pcall_method($len) == 1)
506 0 844 if ($stash->{$heapptr}) { }
510 30 814 $isArray ? :
521 1309 4441 if ($self->get_type(-1) == 6) { }
523 63 1246 if ($stash->{$heapptr}) { }
536 133 5617 if ($isArray) { }
549 31 8 if ($bool == 1) { }
589 186422 108 unless ($heap)
628 22 186521 if ($err)
649 38 186552 if (my $error = $@)
650 22 16 if ($error =~ /^Duk::Error/i) { }
660 186552 0 defined $ret ? :
664 186552 38 defined $ret ? :
671 1 3 unless duk_sv_is_number($timeout)
679 0 2 unless duk_sv_is_number($max_memory)
680 1 1 if $max_memory < 262144
734 28 15 ${$_[0];} ? :
741 0 56 $use_boolean ? :
742 0 56 $use_boolean ? :
748 1 1 ${$_[0];} ? :
758 0 5 ${$_[0];} ? :
800 0 521 if $method eq "DESTROY"
809 17 232 unless $refcount
837 0 0 if $method eq "DESTROY"
858 0 521 if ($method eq "new")
863 0 0 if ($duk->pnew($len) != 0)
875 378 143 if ($type == 6 or $type == 7) { }
879 378 0 if ($duk->is_function(-1)) { }
882 376 2 if (@_) { }
884 3 373 if ref $_[0] eq "NOARGS"
915 136 378 if ($ref eq 'NEW') { }
0 378 elsif ($ref eq 'HEAP') { }
0 378 elsif ($ref eq 'DUK') { }
928 378 136 unless $isNew
930 211 331 if (ref $val eq 'CODE') { }
938 136 378 if ($isNew) { }
939 0 136 if ($duk->pnew($len) != 0)
944 0 378 if ($duk->pcall_method($len) != 0)
952 205 309 if ($type == 6 or $type == 7) { }
964 376 7 if $doCall
997 5 232 if ($duk->is_function(-1))