Branch Coverage

blib/lib/FreezeThaw.pm
Criterion Covered Total %
branch 116 160 72.5


line true false branch
317 0 2 unless eval "sub haveIsRex () {$haveIsRex}\nsub RexIsREGEXP () {$RexIsREGEXP}\n1\n"
344 0 2 if $max_pointer =~ /\D/
346 0 2 if $ENV{'FREEZE_THAW_WARN'}
347 0 2 unless eval "sub max_strlen_l () {$max_pointer_l}; 1"
354 6 17 if not $ref or defined $Empty{$ref}
356 17 0 if (defined &overload::StrVal) { }
361 17 0 if $str =~ /=(\w+)/
372 0 106 unless substr($FreezeThaw::string, $_[0], 22) =~ /^\$(\d+)\|/
374 0 106 unless length($FreezeThaw::string) - $_[0] > length($1) + 1 + $1
381 0 51 unless substr($FreezeThaw::string, $_[0], 21) =~ /^(\d+)\|/
394 0 2 unless substr($FreezeThaw::string, $_[0], 22) =~ m[^/(\d+)\|]
396 0 2 unless length($FreezeThaw::string) - $_[0] > length($1) + 1 + $1
411 0 79 unless substr($FreezeThaw::string, $_[0], 22) =~ /^[\@%](\d+)\|/
421 0 79 if $count
447 30 1169 unless defined $_[0]
448 617 552 unless ref $_[0]
451 32 520 if ($_[1] and $ref) { }
452 32 0 if (defined &overload::StrVal) { }
457 32 0 if $str =~ /=(\w+)/
462 0 0 if $FreezeThaw::norepeated and not $_[2] and defined $FreezeThaw::count{$str}
464 95 457 if ($FreezeThaw::secondpass and not $_[2]) { }
408 49 elsif (not $_[2]) { }
465 60 35 if defined $FreezeThaw::count{$str} and $FreezeThaw::count{$str} > 1
469 31 377 if defined $FreezeThaw::count{$str} and not exists $FreezeThaw::address{$str}
473 39 369 if defined $FreezeThaw::count{$str}
477 296 157 if $ref eq 'ARRAY'
478 89 68 if $ref eq 'HASH'
480 3 65 if &re::is_regexp($_[0])
481 0 65 if $ref eq 'GLOB' and not $FreezeThaw::safe
483 0 65 if $ref eq 'CODE' and not $FreezeThaw::safe
485 42 23 if $ref eq 'REF' or $ref eq 'SCALAR'
487 0 0 if ($FreezeThaw::noCache and $ref eq 'CODE' || $ref eq 'GLOB')
490 2 0 if ($FreezeThaw::safe and $ref eq 'CODE' || $ref eq 'GLOB')
492 1 1 unless defined $saved{$str}
505 21 22 if (defined $packageid) { }
520 9 9 if ($key eq ')') { }
533 95 132 if ($key eq '$') { }
53 79 elsif ($key eq '@') { }
23 56 elsif ($key eq '%') { }
2 54 elsif ($key eq '/') { }
6 48 elsif ($key eq '\\') { }
3 45 elsif ($key eq '_') { }
0 45 elsif ($key eq '&') { }
0 45 elsif ($key eq '*') { }
1 44 elsif ($key eq '?') { }
26 18 elsif ($key eq '<') { }
18 0 elsif ($key eq '>' or $key eq '{' or $key eq '}') { }
546 0 1 unless $FreezeThaw::unsafe
547 0 1 unless defined $saved{$address}
551 0 26 unless $FreezeThaw::uninitOK
559 6 12 if ($key eq '{') { }
6 6 elsif ($key eq '}') { }
563 0 6 unless defined $_[1]
576 17 11 if (ref $e) { }
0 11 elsif ($e) { }
605 18 20 if (@FreezeThaw::multiple)
642 17 11 if $Empty{ref $_}
650 2 36 if $FreezeThaw::unsafe
665 1 11 if ($ref eq 'SCALAR' or $ref eq 'REF') { }
3 8 elsif ($ref eq 'ARRAY') { }
7 1 elsif ($ref eq 'HASH') { }
1 0 elsif (&re::is_regexp($second)) { }
677 6 6 if (ref $second ne ref $first)
686 0 15 unless @_ == 1
691 0 15 if (substr($FreezeThaw::string, 0, 4) ne 'FrT;') { }
692 0 0 if $^W
696 1 14 substr($FreezeThaw::string, $initoff, 1) eq '?' ? :
697 1 14 if ($FreezeThaw::unsafe != $initoff)
700 0 1 unless $key eq $lock
705 7 8 substr($FreezeThaw::string, $FreezeThaw::unsafe, 1) eq '!' ? :
707 7 8 if ($repeated) { }
713 7 8 if ($repeated)
729 6 6 if ref $init[$_]
733 0 15 if $off != length $FreezeThaw::string
739 0 6 unless @_ == 2
744 0 4 unless @_ == 2
762 1 35 if $cnt2{$elt} > $cnt1{$elt}
800 0 0 unless $FreezeThaw::safe
875 11 0 if (ref $e) { }
0 0 elsif ($e) { }