Condition Coverage

script/tt
Criterion Covered Total %
condition 17 197 8.6


and 3 conditions

line !l l&&!r l&&r condition
3 1 0 0 @ARGV and @ARGV[0] =~ /^\w/
42 0 0 0 @_ and -f $_[0]
71 0 0 0 &blessed($val) and $val->can('ymd')
147 0 0 0 $start and $stop
0 0 0 $start and $stop and $self->project
261 0 0 0 $k eq 'stop' and $event->{$k}
369 0 0 0 $res->{'start_at'} = $1 and $res->{'interval'} = $2
393 0 0 0 @project_re and not grep({$event->{'project'} =~ /$_/;} @project_re)
394 0 0 0 $tags and not grep({$tags =~ /\b$_\b/;} @{$$event{'tags'};})
404 0 0 0 @{$res->{'log'};} and not $res->{'log'}[-1]{'project'}
0 0 0 @{$res->{'log'};} and not $res->{'log'}[-1]{'project'} and $res->{'log'}[-1]{'start'}->mday == $event->{'start'}->mday
423 0 0 0 $self->config('hours_per_month') and $res->{'interval'} eq 'month'
430 0 0 0 $start->day_of_week != 0 and $start->day_of_week != 6
465 0 0 0 $self->month and not $self->year
479 0 0 0 -t STDIN and $self->year || $self->month
504 0 0 0 $code and $self->$code($event)
521 0 0 0 $event->{'stop'} && $event->{'start'} && $event->{'stop'} - $event->{'start'}
524 0 0 0 $event->{'stop'} and $event->{'seconds'} < $self->config('min_time')
598 5 0 2 not $hms and $ymd =~ /:/

or 2 conditions

line l !l condition
21 0 1 $ENV{'APP_TT_DEBUG'} || 0
70 0 0 $event->{$_} // ''
90 0 0 shift() || 'app'
129 0 0 $event->{'project'} || '---'
242 0 0 $ENV{'EDITOR'} || 'nano'
0 0 $ENV{'TT_COLUMNS'} || 'date,project,hours,rounded,tags,description'
0 0 $ENV{'TT_HOURS_PER_MONTH'} || 0
0 0 $ENV{'TT_MIN_TIME'} || 300
0 0 $ENV{'TT_ROUND_UP_AT'} || 30
0 0 $self->{'defaults'} ||= {'editor', $ENV{'EDITOR'} || 'nano', 'export_columns', $ENV{'TT_COLUMNS'} || 'date,project,hours,rounded,tags,description', 'hours_per_month', $ENV{'TT_HOURS_PER_MONTH'} || 0, 'min_time', $ENV{'TT_MIN_TIME'} || 300, 'round_up_at', $ENV{'TT_ROUND_UP_AT'} || 30}
246 0 0 ($self->{'config'}{$key} // $self->{'defaults'}{$key}) // die("Missing option '${key}'.\n")
254 0 0 $event->{'path'} //= 'Not found'
262 0 0 $event->{$k} // ''
279 0 0 unlink $trc_file or die "rm ${trc_file}: $!"
320 0 0 $log{$k} ||= {%$e, 'seconds', 0}
364 0 0 $self->project || '.+'
372 0 0 $res->{'fill'} ||= 1
375 0 0 $res->{'fill'} ||= 0
376 0 0 $res->{'interval'} ||= 'month'
377 0 0 $res->{'start_at'} ||= 0
414 0 0 $self->group_by || 'nothing'
471 0 0 $self->year || '\\d{4}'
472 0 0 $self->month || '\\d{2}'
474 0 0 $self->project || '[^.]+'
505 0 0 unlink $found->{'file'} or die "rm $found->{'file'}: $!"
514 0 0 $event->{'__CLASS__'} ||= 'App::TimeTracker::Data::Task'
515 0 0 $self->description // ''
517 0 0 $event->{'seconds'} ||= 0
518 0 0 $event->{'tags'} ||= [&uniq(@{[] unless $event->{'tags'};}, $self->_tags)]
519 0 0 $event->{'user'} ||= scalar getpwuid $<
589 0 0 $! || 1

or 3 conditions

line l !l&&r !l&&!r condition
43 0 0 0 $self->year or $self->month
0 0 0 $self->year or $self->month or not -t STDIN
179 0 0 0 $event->{'project'} ||= $self->project
180 0 0 0 $event->{'project'} ||= (grep {/^[A-Za-z0-9-]+$/;} @args)[0]
181 0 0 0 $event->{'project'} ||= basename(Cwd::getcwd())
182 0 0 0 $event->{'project'} ||= $self->config('project')
246 0 0 0 $self->{'config'}{$key} // $self->{'defaults'}{$key}
261 0 0 0 $k eq 'start' or $k eq 'stop' and $event->{$k}
370 0 0 0 $res->{'start_at'} ||= $1
371 0 0 0 $res->{'interval'} ||= $1
395 0 0 0 $event->{'stop'} ||= $NOW + $NOW->tzoffset
396 0 0 0 $event->{'seconds'} ||= $event->{'stop'} - $event->{'start'}
457 0 0 0 $ENV{'TT_HOME'} || $ENV{'TIMETRACKER_HOME'} || 'File::Spec'->catdir('File::HomeDir'->my_home || 'File::Spec'->curdir, '.TimeTracker')
459 0 0 0 readlink $root || $root
479 0 0 0 $self->year || $self->month
515 0 0 0 $event->{'description'} ||= $self->description // ''
516 0 0 0 $event->{'project'} ||= $self->project
570 0 0 0 not $event->{'start'} or $event->{'stop'}
607 0 7 0 $t{'ref'} || $NOW
609 2 5 0 $t{'Y'} ||= $ref->year
610 3 4 0 $t{'m'} //= $ref->mon
611 5 2 0 $t{'d'} //= $ref->mday
612 4 0 0 defined $t{'H'} || defined $t{'M'}
3 0 4 $t{'S'} //= defined $t{'H'} || defined $t{'M'} ? 0 : $ref->second
613 4 0 3 $t{'M'} //= defined $t{'H'} ? 0 : $ref->min
614 7 0 0 $t{'H'} //= $ref->hour