Branch Coverage

web/cgi-bin/yatt.lib/YATT/Registry.pm
Criterion Covered Total %
branch 165 242 68.1


line true false branch
69 0 20 if (defined $ENV{'YATT_CF_LINEINFO'})
116 0 17 if (is_tainted $script)
130 0 17 if (wantarray) { }
136 0 17 if $@
137 0 17 wantarray ? :
145 4 13 unless @_
147 0 13 if @_ % 2
151 12 1 if (my $sub = $modpack->can("import_$name")) { }
0 1 elsif ($sub = $CURRENT->can("configure_$name")) { }
1 0 elsif ($$fields{"cf_$name"}) { }
165 0 12 unless defined $ROOT
167 0 12 unless my $dir = $CURRENT->lookup_dir($ROOT, split(m[/], $vpath, 0))
177 0 0 unless (-d $realdir)
211 0 3 if ('YATT::Registry'->is_reloading and defined *{$glob;}{'CODE'})
229 0 26 unless my $sub = $modpack->can($name)
248 2 253 defined $_ ? :
256 0 2277 unless (defined $nsid)
259 473 1804 if $nsid == 0
266 156 1367 unless ref $nsobj
270 20 255 if ($root == $nsobj) { }
271 2 18 unless $$root{'cf_app_prefix'}
287 0 551 unless $$node{'cf_loadkey'}
288 322 229 if $$node{'cf_age'} and not $$root{'cf_auto_reload'}
289 0 229 unless $$root{'Loader'}
292 7 222 if $$node{'cf_age'} and not $$node{'is_loaded'}
295 0 222 if $$root{'cf_debug_registry'}
345 94 7 @_ ? :
98 2 if $widget = $tmpl->lookup_widget($root, @_ ? @_ : $nsname)
349 0 2 if ($root->has_ns($root, $nsname))
350 0 0 if $widget = $root->get_widget_from_dir($root, $nsname, @_)
362 0 164 unless ($dir)
365 19 145 if (@elempath == 2) { }
145 0 elsif (@elempath == 1) { }
380 0 0 unless $w->declared
389 0 101 unless defined $root and ref $root and $root->isa('YATT::Registry')
391 0 101 unless @_
397 103 0 if (@elempath <= 2) { }
405 1 102 if (@elempath == 2) { }
411 98 4 if $found
429 0 2 if $nsid = $$dir{'Dir'}{$nsname} || $$dir{'Template'}{$nsname}
432 2 0 unless $$dir{'cf_base_nsid'}
445 0 4 unless $nsid
452 0 12 unless UNIVERSAL::isa($root, 'YATT::Registry')
453 0 12 unless @nspath
457 7 12 if $ns eq ''
459 0 12 unless ($nsid)
460 0 0 $$start{'cf_base_nsid'} ? :
476 8 1 unless $$dict{$key}++
479 4 0 wantarray ? :
497 0 7 unless ($nsid)
508 12 5 if (defined(my $base = $$dir{'cf_base_nsid'}))
519 0 22 if (defined $$dir{'cf_name'} and $$dir{'cf_name'} eq $ns)
521 0 0 if $widget
526 2 21 unless my $nsid = $$dir{$type}{$ns}
527 0 21 unless my $widget = $root->nsobj($nsid)->widget_by_name($root, $name)
531 0 1 unless $$dir{'cf_base_nsid'}
538 175 17 if (my $nsid = $$dir{'Template'}{$name})
541 17 169 unless $$dir{'Widget'}{$name}
548 0 1 if ($$tmpl{'cf_name'} eq $ns)
550 0 0 if $widget
553 0 1 if (defined $$parent{'cf_name'} and $$parent{'cf_name'} eq $ns)
555 0 0 if $widget
564 87 16 if $widget = $$tmpl{'Widget'}{$name}
569 10 5 if $widget = $root->nsobj($$tmpl{'cf_parent_nsid'})->widget_by_name($root, $name)
573 3 2 if ($$tmpl{'cf_base_template'})
574 3 0 if $widget = $root->nsobj($$tmpl{'cf_base_template'})->widget_by_name($root, $name)
579 0 2 if ($$tmpl{'cf_base_nsid'})
580 0 0 if $widget = $root->nsobj($$tmpl{'cf_base_nsid'})->widget_by_name($root, $name)
591 0 18 ref $fmt ? :
628 8 854 unless @$list
629 0 854 unless defined $pattern
630 809 45 if (ref $pattern) { }
631 26 783 unless $$list[0] =~ /$pattern/
633 10 35 unless $$list[0] eq $pattern
684 6 13 $is_opened ? :
711 183 183 if $shift
714 181 185 if (my $handler = $root->can($handler_name))
726 0 4 if ($$builder{'parent'})
731 0 4 unless my $base = $this->lookup_template($root, $path)
750 0 87 if ($$builder{'parent'})
755 2 85 if ($$builder{'cf_root_builder'})
762 0 87 if @configs
776 1 89 if ($$builder{'parent'})
782 0 89 unless defined(my $name = $args->node_name)
838 19 290 unless my $sub = $root->can('add_decl_' . $args->node_type_name)
851 0 239 unless (defined $argname)
854 0 239 if ($target->has_arg($argname))
860 3 236 if (ref $type) { }
866 7 232 if (defined $typename and my $sub = $root->can("attr_declare_$typename")) { }
875 150 277 unless defined $type
876 1 426 ref $type ? :
877 0 427 unless defined(my $class = $$root{'cf_type_map'}{$primary})
879 0 1 @subtype >= 2 ? :
1 426 if @subtype
881 172 255 if (my $sub = $root->can("create_var_$primary")) { }
901 222 0 if (my $sub = $loader->can("refresh_$type")) { }
912 23 199 if defined $old and $old >= $mtime
925 1 19 if (-d (my $libdir = "$dir/lib"))
944 0 17 if is_tainted $fn
945 0 17 unless open my $fh, '<' . ($layer || ''), $fn
955 21 43 unless $loader->is_modified($dirname, $$dir{'cf_mtime'}{$dirname})
960 0 43 if (is_tainted $dirname)
964 21 22 if ($root == $dir) { }
965 0 17 ref $_ ? :
4 17 !defined($_) ? :
974 4 1 if ($$root{'cf_default_base_class'} and $$root{'cf_default_base_class'} ne $$root{'cf_pkg'} || $$root{'is_loaded'})
987 17 26 if (-r $rcfile)
989 2 15 if $is_reload
990 9 8 unless $$root{'cf_no_lineinfo'}
1009 0 60 unless opendir DIR, $dirname
1011 151 391 if $name =~ /^\./
1014 96 295 if (-d $path) { }
163 132 elsif ($name =~ /^(\w+)\.html?$/) { }
1015 0 96 unless $name =~ /^(?:\w|-)+$/
1038 2 156 unless ($loader->is_modified($path, $$tmpl{'cf_mtime'}{$path}))
1039 0 2 if $$root{'cf_debug_registry'}
1044 0 156 if (is_tainted $path)
1048 146 10 if (my $cleaner = $root->can('forget_template'))
1057 0 156 defined $_ ? :
1069 0 156 unless open my $fh, '<', $path
1089 0 0 if ($line =~ /^\#line (\d+)/) { }