Branch Coverage

blib/lib/CHI/Driver.pm
Criterion Covered Total %
branch 138 170 81.1


line true false branch
206 0 882 if $Build_Depth > $self->max_build_depth
220 6 876 if ($stats->enabled)
257 7 10031 unless defined $key
265 10031 0 if $measure_time
266 9804 227 unless $params{'obj'}
267 10031 0 if $measure_time
268 4 10027 if (my $error = $@)
269 0 4 if defined $ns_stats
273 1328 8699 unless (defined $obj)
274 2 1326 if defined $ns_stats
276 1328 0 if $log_is_debug
281 593 8106 if (defined(my $obj_ref = $params{'obj_ref'}))
290 3537 5162 if ($is_expired)
291 0 3537 if defined $ns_stats
293 3537 0 if $log_is_debug
299 8 3529 if (defined(my $busy_lock = $params{'busy_lock'}))
310 1 5161 if defined $ns_stats
311 5162 0 if $log_is_debug
331 7 12316 unless defined $key
334 2500 9812 unless my $data = $self->fetch($key)
341 7 70 unless defined $key
343 63 7 if (my $obj = $self->get_object($key)) { }
353 7 14 unless defined $key
355 14 0 if (my $obj = $self->get_object($key)) { }
365 7 63 unless defined $key
367 35 28 if (my $obj = $self->get_object($key)) { }
386 7 3540 unless defined $key
388 0 3540 unless defined $value
392 3168 372 if (not defined $options) { }
396 65 307 unless (ref $options)
397 8 57 if ($options eq 'never') { }
0 57 elsif ($options eq 'now') { }
410 334 38 if (exists $$options{'expires_at'} or exists $$options{'expires_in'}) { }
435 73 3467 defined $$options{'expires_in'} ? :
439 3182 161 $expires_at == 4294967295 ? :
197 3343 defined $$options{'early_expires_at'} ? :
451 14 3526 if (defined(my $obj_ref = $$options{'obj_ref'}))
454 3540 0 if $measure_time
455 3520 3 if ($self->set_object($key, $obj))
456 3520 0 if $measure_time
461 2 3518 if (defined $ns_stats)
467 3520 0 if ($log_is_debug)
480 0 3716 $expires_on_backend && $obj->expires_at < 4294967295 ? :
486 20 3696 if (my $error = $@)
487 0 20 if defined $$self{'ns_stats'}
503 0 0 if @_
510 7 168 unless defined $key
513 168 0 if (defined(my $obj = $self->get_object($key)))
527 14 35 ref $_[0] eq 'CODE' ? :
530 7 42 unless defined $key and defined $code
534 42 0 ref $options eq 'HASH' ? :
538 42 0 ref $options eq 'HASH' ? :
542 35 7 unless (defined $value)
545 0 35 if defined $ns_stats
546 7 28 $wantarray ? :
547 0 35 if defined $ns_stats
550 0 35 if (defined $ns_stats)
555 14 28 $wantarray ? :
562 0 0 if (my $obj = $self->get_object($key))
563 0 0 if ($obj->is_expired)
575 260 0 if (defined(my $value = $self->get($key)))
596 14 7 if (not $self->is_valid($key))
604 5 10 unless my $current = $self->fetch($key)
613 7 7 if ($self->is_valid($key))
634 227 133 defined $data ? :
643 7 85 unless defined $keys
652 227 133 $obj ? :
659 7 22 unless defined $keys
673 7 74 unless defined $key_values
682 7 12 unless defined $keys
704 553 17865 if (ref $key) { }
188 35354 elsif (&Encode::is_utf8($key) and $key =~ /[^\x00-\xFF]/) { }
710 74 18344 if (length $key > $self->max_key_length)
740 0 12403 unless $escapes{$1}
747 2487 0 if defined $key
799 2 22 if (ref $_ eq 'CODE')
801 2 22 if (/^log$/)
802 2 22 if (/^ignore$/)
803 0 24 if (/^warn$/)
804 18 6 if (/^die$/)
812 10027 4 defined $elapsed_time ? :
10027 4 defined $elapsed_time ? :
821 3295 245 $obj->expires_at == 4294967295 ? :
832 3520 20 defined $elapsed_time ? :
3520 20 defined $elapsed_time ? :