Branch Coverage

blib/lib/Workflow/Factory.pm
Criterion Covered Total %
branch 103 130 79.2


line true false branch
27 124 3 if (defined $_[0] and $_[0] eq "FACTORY")
33 124 0 unless (defined &{$import_target;})
35 11 17 if $instance
79 21 32 unless ($INSTANCES{$class})
92 0 0 if ($INSTANCES{$class}) { }
119 37 89 if (ref $config eq 'ARRAY') { }
131 0 21 unless scalar keys %params
170 0 29 unless scalar keys %params
185 0 50 if (scalar @bad_keys)
196 24 147 ref $item eq 'ARRAY' ? :
204 0 71 unless scalar @all_workflow_config
207 19 52 unless ref $workflow_config eq "HASH"
224 1 51 if ($wf_class)
248 50 5 unless $observer_specs
249 2 4 if (my $observer_class = $observer_info->{'class'}) { }
4 0 elsif (my $observer_sub = $observer_info->{'sub'}) { }
261 3 1 if (exists &$o_sub_name) { }
279 4 50 if (@observers) { }
313 2 28 unless ($wf_config)
317 28 0 unless $wf_class
323 0 28 if ($context and not builtin::blessed($context)) { }
26 2 elsif (not $context) { }
363 0 9 unless ($wf_config)
368 9 0 unless $wf_class
370 1 8 unless $wf_info
381 0 8 if ($wf_info->{'context'} and builtin::blessed($wf_info->{'context'})) { }
403 26 10 unless ref $observers eq "ARRAY"
412 36 217 if ($action eq 'save') { }
0 217 elsif ($action eq 'rollback') { }
425 2 1 if (ref $self->config_callback eq "CODE")
427 1 1 if $args and %{$args;}
434 3 78 unless $self->{'_workflow_config'}{$wf_type}
490 3 60 unless scalar @all_action_config
493 21 39 unless ref $actions eq "HASH"
499 13 26 exists $actions->{'type'} ? :
502 36 3 if (exists $actions->{'action'}) { }
514 0 152 unless ($action_class)
531 3 149 if ($self->_validate_action_config)
533 2 1 if (exists &$validate_name)
548 38 5 unless $config and %{$config;}
550 0 43 unless ($config)
569 21 29 unless scalar @all_persister_config
572 11 20 unless ref $persister_config eq "HASH"
577 0 20 unless ($persister_class)
610 0 108 unless ($persister)
628 0 0 unless ($wf_config)
642 4 58 unless scalar @all_condition_config
645 27 32 unless ref $conditions eq "HASH"
648 12 20 exists $conditions->{'type'} ? :
651 29 3 if (exists $conditions->{'condition'}) { }
662 0 41 unless ($condition_class)
697 149 1 if (defined $type)
704 134 16 unless (defined $condition)
708 9 141 if (not defined $condition and $name =~ / \A ! /msux)
713 9 0 if ($self->get_condition($negated, $type))
718 0 9 unless defined $type
723 0 150 unless ($condition)
735 8 43 unless @all_validator_config
738 28 15 unless ref $validators eq "HASH"
741 14 1 if (exists $validators->{'validator'}) { }
752 0 15 unless ($validator_class)
785 0 13 unless ($self->{'_validators'}{$name})
807 19 29 unless @all_observer_config
810 27 2 unless ref $observers eq "HASH"
813 2 0 exists $observers->{'observer'} ? :