Branch Coverage

blib/lib/SignalWire/Agents/Contexts.pm
Criterion Covered Total %
branch 136 194 70.1


line true false branch
26 0 2 if $self->type ne "string"
27 1 1 if $self->confirm
28 0 2 if defined $self->prompt
29 0 2 if defined $self->functions
60 0 1 unless @{$self->_questions;}
62 1 0 if defined $self->_prompt
63 1 0 if defined $self->_output_key
64 1 0 if defined $self->_completion_action
95 1 34 if @{$self->_sections;}
102 1 4 if defined $self->_text
110 0 2 if defined $self->_text
142 1 0 $end ? :
148 1 0 $skip ? :
154 1 0 $skip ? :
170 1 5 unless defined $self->_gather_info
197 1 0 $c ? :
203 1 0 $fr ? :
209 24 2 if defined $self->_text
212 0 2 unless @{$self->_sections;}
216 2 2 if (exists $sec->{'bullets'}) { }
237 2 24 if defined $self->_step_criteria
238 3 23 if defined $self->_functions
239 3 23 if defined $self->_valid_steps
240 1 25 if defined $self->_valid_contexts
241 1 25 if $self->_end
242 1 25 if $self->_skip_user_turn
243 1 25 if $self->_skip_to_next_step
246 1 25 if defined $self->_reset_system_prompt
247 1 25 if defined $self->_reset_user_prompt
248 1 25 if $self->_reset_consolidate
249 1 25 if $self->_reset_full_reset
250 1 25 if keys %reset
252 1 25 if defined $self->_gather_info
285 1 27 if exists $self->_steps->{$name}
287 0 27 if keys %{$self->_steps;} >= $SignalWire::Agents::Contexts::MAX_STEPS_PER_CONTEXT
293 1 26 if defined $opts{'task'}
294 1 26 if defined $opts{'bullets'}
295 1 26 if defined $opts{'criteria'}
296 1 26 if defined $opts{'functions'}
297 1 26 if defined $opts{'valid_steps'}
309 1 0 if (exists $self->_steps->{$name})
319 0 1 unless exists $self->_steps->{$name}
347 0 1 if @{$self->_system_prompt_sections;}
354 1 0 $c ? :
360 1 0 $fr ? :
372 1 0 $iso ? :
378 0 0 if defined $self->_system_prompt
386 0 0 if defined $self->_system_prompt
395 0 1 if @{$self->_prompt_sections;}
402 0 1 if defined $self->_prompt_text
410 0 1 if defined $self->_prompt_text
418 1 0 if ref $fillers eq "HASH"
424 0 0 if ref $fillers eq "HASH"
430 0 0 if ($lang and ref $fillers eq "ARRAY")
431 0 0 unless defined $self->_enter_fillers
439 1 0 if ($lang and ref $fillers eq "ARRAY")
440 1 0 unless defined $self->_exit_fillers
448 0 0 if defined $self->_prompt_text
449 0 0 unless @{$self->_prompt_sections;}
455 1 11 if defined $self->_system_prompt
456 11 0 unless @{$self->_system_prompt_sections;}
464 0 0 if (exists $sec->{'bullets'}) { }
481 0 12 unless keys %{$self->_steps;}
487 3 9 if defined $self->_valid_contexts
488 1 11 if defined $self->_valid_steps
489 1 11 if defined $self->_post_prompt
492 1 11 if defined $sp
494 1 11 if $self->_consolidate
495 1 11 if $self->_full_reset
496 1 11 if defined $self->_user_prompt
497 1 11 if $self->_isolated
499 1 11 if (@{$self->_prompt_sections;}) { }
1 10 elsif (defined $self->_prompt_text) { }
505 1 11 if defined $self->_enter_fillers
506 1 11 if defined $self->_exit_fillers
523 1 13 if exists $self->_contexts->{$name}
525 0 13 if keys %{$self->_contexts;} >= $SignalWire::Agents::Contexts::MAX_CONTEXTS
540 0 0 scalar keys %{$self->_contexts;} ? :
545 1 10 unless keys %{$self->_contexts;}
548 9 1 if (keys %{$self->_contexts;} == 1)
550 1 8 unless $name eq "default"
558 1 9 unless keys %{$ctx->_steps;}
566 2 9 if (defined $step->_valid_steps)
568 1 1 if $vs eq "next"
570 1 0 unless exists $ctx->_steps->{$vs}
579 3 5 if (defined $ctx->_valid_contexts)
582 1 2 unless exists $self->_contexts->{$vc}
587 0 9 if (defined $step->_valid_contexts)
590 0 0 unless exists $self->_contexts->{$vc}
601 3 6 if (defined $step->_gather_info)
603 1 2 unless @{$step->_gather_info->_questions;}
608 1 2 if $seen{$q->key}++
612 1 0 if (defined $action)
613 1 0 if ($action eq 'next_step') { }
0 0 elsif (not exists $ctx->_steps->{$action}) { }
617 1 0 if ($order[$i] eq $sname)
619 1 0 if defined $idx and $idx >= $#order