| line |
true |
false |
branch |
|
51
|
41 |
2 |
$AUTOLOAD && $AUTOLOAD =~ /::(\w+)$/ ? : |
|
52
|
1 |
40 |
unless ($self->can($meth)) |
|
61
|
41 |
1 |
if $ROLEMAP->{$meth} |
|
70
|
6 |
72 |
if $item =~ /^(load|1)$/i |
|
71
|
2 |
70 |
if (lc $item eq 'all') |
|
77
|
7 |
63 |
if ($type = $STANDIN{$item}) |
|
79
|
4 |
3 |
unless ($INC{$file} and $item->isa('Template::Alloy')) |
|
80
|
1 |
3 |
if ($INC{$file}) |
|
83
|
0 |
3 |
unless $Template::Alloy::AUTOROLE->{$type} |
|
86
|
61 |
2 |
$Template::Alloy::AUTOROLE->{$item} ? : |
|
103
|
1 |
4300 |
ref $_[0] ? : |
|
106
|
253 |
4048 |
if (my(@keys) = grep({/^[a-z][a-z_]+$/;} keys %$args)) |
|
130
|
40 |
730 |
if (my $err = $@) |
|
131
|
40 |
0 |
if (not $err->type =~ /stop|return|next|last|break/) { } |
|
|
0 |
0 |
elsif ($err->type eq 'return' and UNIVERSAL::isa($err->info, 'HASH')) { } |
|
133
|
0 |
40 |
if $self->{'RAISE_ERROR'} |
|
153
|
145 |
5204 |
ref $file eq 'HASH' ? : |
|
157
|
6 |
5155 |
if not $self->{'RECURSION'} and $self->{'_in'}{$doc->{'name'}} and $doc->{'name'} ne 'input text' |
|
161
|
4329 |
838 |
$self->{'_top_level'} ? : |
|
165
|
1356 |
3811 |
if ($self->{'STREAM'}) { } |
|
|
0 |
3811 |
elsif ($self->{'COMPILE_JS'}) { } |
|
|
1869 |
1942 |
elsif ($doc->{'_perl'}) { } |
|
|
1941 |
1 |
elsif ($doc->{'_tree'}) { } |
|
166
|
0 |
1356 |
unless $doc->{'_tree'} |
|
179
|
27 |
4945 |
if ($self->{'TRIM'}) |
|
186
|
377 |
4972 |
if (my $err = $@) |
|
187
|
2 |
375 |
unless UNIVERSAL::can($err, 'type') |
|
188
|
161 |
40 |
if $doc and $err->can('doc') and not $err->doc |
|
189
|
104 |
273 |
unless $self->{'_top_level'} |
|
190
|
235 |
12 |
if $err->type ne 'stop' and $err->type ne 'return' || $err->info |
|
200
|
1 |
5380 |
unless defined $file |
|
203
|
13 |
5367 |
unless ref $docs |
|
207
|
4581 |
799 |
if (ref $file) { } |
|
|
19 |
780 |
elsif ($docs->{$file}) { } |
|
|
13 |
767 |
elsif ($self->{'_not_found'}{$file}) { } |
|
|
235 |
532 |
elsif ($self->{'BLOCKS'}{$file}) { } |
|
208
|
1 |
4580 |
if ref $file eq 'HASH' |
|
210
|
4577 |
3 |
if (not defined $self->{'CACHE_STR_REFS'} or $self->{'CACHE_STR_REFS'}) { } |
|
212
|
193 |
4384 |
if ($docs->{$_file}) |
|
214
|
2 |
130 |
if not $doc->{'_perl'} and $self->{'COMPILE_PERL'} |
|
219
|
1 |
2 |
$self->{'FORCE_STR_REF_PERL'} ? : |
|
229
|
19 |
0 |
if (time - $doc->{'cache_time'} < ($self->{'STAT_TTL'} || $STAT_TTL) or $doc->{'modtime'} == (stat $doc->{'_filename'})[9]) |
|
231
|
1 |
12 |
if not $doc->{'_perl'} and $self->{'COMPILE_PERL'} |
|
239
|
7 |
6 |
if (time - $doc->{'cache_time'} < ($self->{'NEGATIVE_STAT_TTL'} || $self->{'STAT_TTL'} || $STAT_TTL)) |
|
247
|
1 |
234 |
if UNIVERSAL::isa($block, 'CODE') |
|
248
|
4 |
231 |
unless (UNIVERSAL::isa($block, 'HASH')) |
|
249
|
1 |
3 |
if ref $block |
|
252
|
229 |
4 |
$block->{'name'} && $block->{'name'} ne 'input text' ? : |
|
253
|
232 |
1 |
if $block->{'_filename'} |
|
254
|
81 |
152 |
if ($block->{'_perl'}) { } |
|
|
151 |
1 |
elsif ($block->{'_tree'}) { } |
|
265
|
538 |
3 |
unless ($doc->{'_filename'} or ref $file) |
|
268
|
71 |
467 |
if (my $err = $@) |
|
270
|
18 |
53 |
if ($self->{'EXPOSE_BLOCKS'} and not $self->{'_looking_in_block_file'}) { } |
|
|
0 |
53 |
elsif ($self->{'DEFAULT'}) { } |
|
274
|
0 |
12 |
length $block_name ? : |
|
278
|
0 |
30 |
unless ref $node |
|
279
|
12 |
18 |
if $node->[0] eq 'META' |
|
280
|
0 |
18 |
if $node->[0] ne 'BLOCK' |
|
281
|
6 |
12 |
if $block_name ne $node->[3] |
|
288
|
4 |
0 |
if $ref->{'_perl'} and $ref->{'_perl'}{'blocks'} and $ref->{'_perl'}{'blocks'}{$block_name} |
|
289
|
0 |
0 |
if $self->{'COMPILE_JS'} and $ref->{'_js'} |
|
294
|
0 |
0 |
if $doc->{'_filename'} = eval {
do {
$self->include_filename($self->{'DEFAULT'})
}
} |
|
296
|
59 |
0 |
if ($err) |
|
298
|
59 |
0 |
if (not defined $self->{'NEGATIVE_STAT_TTL'} or $self->{'NEGATIVE_STAT_TTL'}) |
|
299
|
0 |
59 |
unless UNIVERSAL::can($err, 'type') |
|
311
|
1742 |
3112 |
if (not $doc->{'_no_perl'} and $self->{'COMPILE_PERL'} and $self->{'COMPILE_PERL'} ne '2' || $self->{'_tree'}) { } |
|
|
0 |
3112 |
elsif ($self->{'COMPILE_JS'}) { } |
|
320
|
4469 |
252 |
if (not defined $self->{'CACHE_SIZE'} or $self->{'CACHE_SIZE'}) |
|
322
|
4024 |
445 |
if (ref $file) { } |
|
323
|
4021 |
3 |
if $doc->{'_filename'} |
|
329
|
0 |
4469 |
if ($self->{'CACHE_SIZE'}) |
|
330
|
0 |
0 |
if (scalar keys %$docs > $self->{'CACHE_SIZE'}) |
|
333
|
0 |
0 |
if ++$n > $self->{'CACHE_SIZE'} |
|
349
|
1 |
4577 |
ref $self && $self->{'ENCODING'} && eval {
do {
require Encode
}
} && defined &Encode::encode ? : |
|
359
|
4850 |
3 |
if ($doc->{'_filename'}) |
|
361
|
16 |
4834 |
if ($self->{'COMPILE_DIR'} or $self->{'COMPILE_EXT'}) |
|
363
|
8 |
8 |
if ($self->{'COMPILE_DIR'}) { } |
|
|
2 |
6 |
elsif ($doc->{'_is_str_ref'}) { } |
|
364
|
0 |
8 |
if $^O eq 'MSWin32' |
|
369
|
12 |
4 |
if defined $self->{'COMPILE_EXT'} |
|
370
|
16 |
0 |
if defined $EXTRA_COMPILE_EXT |
|
372
|
1 |
0 |
if (-e $file and $doc->{'_is_str_ref'} || (stat $file)[9] == $doc->{'modtime'}) |
|
383
|
33 |
4819 |
if ($self->{'CONSTANTS'}) |
|
393
|
15 |
4704 |
if ($doc->{'_storable_filename'}) |
|
396
|
10 |
5 |
unless (-d $dir) |
|
412
|
9553 |
18936 |
unless ref $_[1] |
|
423
|
9292 |
9644 |
if (ref $name) { } |
|
|
9644 |
0 |
elsif (defined $name) { } |
|
424
|
9118 |
174 |
if (not defined $name->[0]) { } |
|
425
|
192 |
8926 |
if wantarray and $name->[1] eq '..' |
|
426
|
110 |
8816 |
$name->[1] eq '-temp-' ? : |
|
429
|
174 |
0 |
if (defined $name) |
|
430
|
3 |
171 |
if $QR_PRIVATE and $name =~ /$QR_PRIVATE/ |
|
431
|
0 |
111 |
if $i >= $#$var and $ARGS->{'return_ref'} and not ref $self->{'_vars'}{$name} |
|
436
|
15 |
9629 |
if $QR_PRIVATE and $name =~ /$QR_PRIVATE/ |
|
437
|
6 |
7068 |
if $i >= $#$var and $ARGS->{'return_ref'} and not ref $self->{'_vars'}{$name} |
|
439
|
873 |
8750 |
unless (defined $ref) |
|
440
|
175 |
698 |
$name eq 'template' || $name eq 'component' ? : |
|
441
|
665 |
6 |
if not $ref and !defined($self->{'VMETHOD_FUNCTIONS'}) || $self->{'VMETHOD_FUNCTIONS'} |
|
442
|
59 |
576 |
if not defined $ref and $self->{'LOWER_CASE_VAR_FALLBACK'} |
|
450
|
547 |
20724 |
if (UNIVERSAL::isa($ref, 'CODE')) |
|
451
|
15 |
505 |
if $i >= $#$var and $ARGS->{'return_ref'} |
|
452
|
161 |
371 |
$args ? : |
|
454
|
39 |
493 |
if ($type eq 'item') { } |
|
458
|
33 |
457 |
if ($type eq 'list') { } |
|
|
453 |
4 |
elsif (defined $results[0]) { } |
|
|
0 |
4 |
elsif (defined $results[1]) { } |
|
461
|
21 |
432 |
$#results > 0 ? : |
|
472
|
17796 |
3453 |
if $i >= $#$var |
|
473
|
0 |
3453 |
$ARGS->{'no_dots'} ? : |
|
478
|
60 |
3393 |
if (ref $name) |
|
479
|
60 |
0 |
if (ref $name eq 'ARRAY') { } |
|
481
|
0 |
60 |
if (not defined $name or $QR_PRIVATE and $name =~ /$QR_PRIVATE/ or $name =~ /^\./) |
|
489
|
3 |
3450 |
if (not defined $name or $QR_PRIVATE and $name =~ /$QR_PRIVATE/) |
|
495
|
939 |
2511 |
if (not ref $ref) { } |
|
496
|
223 |
716 |
if ($Template::Alloy::ITEM_METHODS->{$name}) { } |
|
|
665 |
51 |
elsif ($Template::Alloy::ITEM_OPS->{$name}) { } |
|
|
9 |
42 |
elsif ($Template::Alloy::LIST_OPS->{$name}) { } |
|
|
36 |
6 |
elsif (my $filter = $self->{'FILTERS'}{$name} || $Template::Alloy::FILTER_OPS->{$name} || UNIVERSAL::isa($name, 'CODE') && $name || $self->list_filters->{$name}) { } |
|
497
|
60 |
163 |
$args ? : |
|
500
|
343 |
322 |
$args ? : |
|
503
|
0 |
9 |
$args ? : |
|
510
|
9 |
27 |
if (UNIVERSAL::isa($filter, 'CODE')) { } |
|
|
0 |
27 |
elsif (not UNIVERSAL::isa($filter, 'ARRAY')) { } |
|
|
9 |
18 |
elsif (@$filter == 2 and UNIVERSAL::isa($filter->[0], 'CODE')) { } |
|
512
|
0 |
9 |
if (my $err = $@) |
|
513
|
0 |
0 |
unless UNIVERSAL::can($err, 'type') |
|
522
|
6 |
3 |
if ($filter->[1]) |
|
523
|
3 |
3 |
$args ? : |
|
524
|
0 |
6 |
if (not $sub and $err) { } |
|
|
0 |
6 |
elsif (not UNIVERSAL::isa($sub, 'CODE')) { } |
|
525
|
0 |
0 |
unless UNIVERSAL::can($err, 'type') |
|
528
|
0 |
0 |
unless UNIVERSAL::can($sub, 'type') |
|
535
|
0 |
9 |
if (my $err = $@) |
|
536
|
0 |
0 |
unless UNIVERSAL::can($err, 'type') |
|
540
|
0 |
18 |
if $seen_filters{$name}++ |
|
544
|
0 |
36 |
if (scalar keys %seen_filters and $seen_filters{$$var[$i - 5] or ''}) |
|
555
|
845 |
1666 |
if ($was_dot_call and UNIVERSAL::can($ref, 'can')) |
|
556
|
0 |
805 |
if $i >= $#$var and $ARGS->{'return_ref'} |
|
558
|
139 |
706 |
$args ? : |
|
559
|
21 |
824 |
if ($type eq 'item') { } |
|
|
21 |
803 |
elsif ($type eq 'list') { } |
|
567
|
13 |
790 |
if ($@) { } |
|
|
790 |
0 |
elsif (defined $results[0]) { } |
|
|
0 |
0 |
elsif (defined $results[1]) { } |
|
569
|
0 |
9 |
if ref $@ or not $@ =~ /Can\'t locate object method "\Q$name\E" via package "\Q$class\E"/ or $type eq 'list' |
|
571
|
23 |
767 |
$#results > 0 ? : |
|
582
|
1056 |
619 |
if (UNIVERSAL::isa($ref, 'HASH')) { } |
|
|
619 |
0 |
elsif (UNIVERSAL::isa($ref, 'ARRAY')) { } |
|
583
|
756 |
300 |
if ($was_dot_call and exists $ref->{$name}) { } |
|
|
171 |
129 |
elsif ($Template::Alloy::HASH_OPS->{$name}) { } |
|
|
6 |
123 |
elsif ($ARGS->{'is_namespace_during_compile'}) { } |
|
584
|
12 |
592 |
if $i >= $#$var and $ARGS->{'return_ref'} and not ref $ref->{$name} |
|
587
|
72 |
99 |
$args ? : |
|
591
|
3 |
117 |
if $i >= $#$var and $ARGS->{'return_ref'} |
|
596
|
155 |
464 |
if ($name =~ / ^ -? $QR_INDEX $ /ox) { } |
|
|
464 |
0 |
elsif ($Template::Alloy::LIST_OPS->{$name}) { } |
|
597
|
6 |
137 |
if $i >= $#$var and $ARGS->{'return_ref'} and not ref $ref->[$name] |
|
600
|
146 |
318 |
$args ? : |
|
611
|
831 |
17796 |
unless (defined $ref) |
|
612
|
27 |
804 |
if $self->{'STRICT'} |
|
613
|
6 |
801 |
if $self->{'_debug_undef'} |
|
626
|
331 |
5752 |
unless ref $var |
|
631
|
18 |
6065 |
if (ref $ref) { } |
|
|
6065 |
0 |
elsif (defined $ref) { } |
|
633
|
0 |
18 |
if ref $ref ne 'ARRAY' |
|
634
|
6 |
12 |
if (not defined $ref->[0]) { } |
|
635
|
0 |
6 |
unless $ref->[1] and $ref->[1] =~ /^[\$\@]\(\)$/ |
|
640
|
12 |
0 |
if (defined $ref and not $QR_PRIVATE && $ref =~ /$QR_PRIVATE/) { } |
|
641
|
6 |
6 |
if ($#$var <= $i) { } |
|
651
|
3 |
6062 |
if $QR_PRIVATE and $ref =~ /$QR_PRIVATE/ |
|
652
|
5880 |
182 |
if ($#$var <= $i) { } |
|
662
|
6 |
250 |
if (UNIVERSAL::isa($ref, 'CODE')) |
|
664
|
0 |
6 |
$args ? : |
|
665
|
0 |
6 |
if ($type eq 'item') { } |
|
669
|
3 |
3 |
if ($type eq 'list') { } |
|
|
3 |
0 |
elsif (defined $results[0]) { } |
|
|
0 |
0 |
elsif (defined $results[1]) { } |
|
672
|
0 |
3 |
$#results > 0 ? : |
|
682
|
0 |
256 |
if $i >= $#$var |
|
683
|
6 |
250 |
$ARGS->{'no_dots'} ? : |
|
688
|
18 |
238 |
if (ref $name) |
|
689
|
18 |
0 |
if (ref $name eq 'ARRAY') { } |
|
691
|
0 |
18 |
if (not defined $name or $name =~ /^[_.]/) |
|
698
|
0 |
256 |
if ($QR_PRIVATE and $name =~ /$QR_PRIVATE/) |
|
703
|
0 |
256 |
if (not ref $ref) { } |
|
|
49 |
207 |
elsif (UNIVERSAL::can($ref, 'can')) { } |
|
710
|
0 |
49 |
$args ? : |
|
711
|
40 |
9 |
if ($i >= $#$var) |
|
715
|
3 |
46 |
if ($type eq 'item') { } |
|
|
3 |
43 |
elsif ($type eq 'list') { } |
|
717
|
3 |
0 |
if $lvalueish |
|
721
|
3 |
0 |
if $lvalueish |
|
725
|
39 |
4 |
unless ($@) |
|
726
|
39 |
0 |
if (defined $results[0]) { } |
|
|
0 |
0 |
elsif (defined $results[1]) { } |
|
727
|
0 |
39 |
$#results > 0 ? : |
|
733
|
30 |
9 |
if $lvalueish |
|
737
|
4 |
0 |
if ref $@ or not $@ =~ /Can\'t locate object method "\Q$name\E" via package "\Q$class\E"/ |
|
741
|
189 |
18 |
if (UNIVERSAL::isa($ref, 'HASH')) { } |
|
|
18 |
0 |
elsif (UNIVERSAL::isa($ref, 'ARRAY')) { } |
|
742
|
142 |
47 |
if ($#$var <= $i) { } |
|
750
|
18 |
0 |
if ($name =~ / ^ -? $QR_INDEX $ /ox) { } |
|
751
|
12 |
6 |
if ($#$var <= $i) { } |
|
772
|
0 |
332 |
if @_ == 1 |
|
778
|
0 |
559 |
if ($file =~ m[^/]) { } |
|
|
0 |
559 |
elsif ($file =~ m[(^|/)\.\./]) { } |
|
779
|
0 |
0 |
unless $self->{'ABSOLUTE'} |
|
780
|
0 |
0 |
if -e $file |
|
782
|
0 |
0 |
unless $self->{'RELATIVE'} |
|
783
|
0 |
0 |
if -e $file |
|
787
|
60 |
0 |
if ($self->{'ADD_LOCAL_PATH'} and $self->{'_component'} and $self->{'_component'}{'_filename'} and $self->{'_component'}{'_filename'} =~ m[^(.+)/[^/]+$]) |
|
791
|
12 |
48 |
$self->{'ADD_LOCAL_PATH'} < 0 ? : |
|
795
|
488 |
112 |
if -e "$path/$file" |
|
806
|
0 |
426 |
if UNIVERSAL::isa($paths, 'CODE') |
|
807
|
404 |
22 |
unless UNIVERSAL::isa($paths, 'ARRAY') |
|
814
|
27 |
521 |
if UNIVERSAL::isa($path, 'ARRAY') |
|
816
|
0 |
521 |
$delim eq ':' && $^O eq 'MSWin32' ? : |
|
822
|
0 |
490 |
unless open my $fh, '<', $file |
|
825
|
3 |
487 |
if ($self->{'ENCODING'}) |
|
827
|
0 |
3 |
if ($@ or not defined &Encode::decode) { } |
|
843
|
13 |
522 |
if UNIVERSAL::can($type, 'type') |
|
844
|
100 |
422 |
if (ref $info eq 'ARRAY') |
|
845
|
0 |
100 |
ref $info->[-1] eq 'HASH' ? : |
|
846
|
0 |
100 |
if (@$info >= 2 or scalar keys %$hash) { } |
|
|
87 |
13 |
elsif (@$info == 1) { } |
|
877
|
0 |
614 |
if $self->{'UNDEFINED_GET'} |
|
883
|
0 |
801 |
if $self->{'UNDEFINED_ANY'} |
|
892
|
3 |
24 |
$comp ne $temp ? : |
|
893
|
6 |
21 |
if $self->{'STRICT_THROW'} |
|
916
|
0 |
0 |
unless $doc->{'_filename'} or $doc->{'_content'} |
|
930
|
0 |
3924 |
if (not $index or $index <= 0) |
|
931
|
0 |
0 |
$include_char ? : |
|
940
|
1680 |
504 |
if $i == 0 |
|
948
|
3350 |
574 |
if ($index > $lines->[-1]) { } |
|
952
|
574 |
1530 |
if abs $i - $j <= 1 |
|
954
|
657 |
873 |
if $lines->[$k] >= $index |
|
955
|
883 |
647 |
if $lines->[$k] <= $index |
|
958
|
3822 |
102 |
$include_char ? : |
|
964
|
2070 |
33178 |
unless defined $var |
|
965
|
9986 |
23192 |
if ref $var |
|
966
|
10155 |
13037 |
if $var =~ /^(-?[1-9]\d{0,13}|0)$/ |
|
974
|
3 |
33 |
unless (ref $ident) |
|
975
|
3 |
0 |
if $ident eq '0' or $ident =~ /^[1-9]\d{0,12}$/ |
|
982
|
9 |
42 |
if $$ident[$i++] |
|
983
|
18 |
33 |
if $i < @$ident |
|
990
|
0 |
223 |
unless defined $text |
|
995
|
30 |
193 |
if ++$self->{'_eval_recurse'} > ($self->{'MAX_EVAL_RECURSE'} || $MAX_EVAL_RECURSE) |
|
1000
|
3 |
190 |
if exists $ARGS{'STRICT'} and not $ARGS{'STRICT'} |
|
1004
|
11 |
179 |
unless $self->process_simple(\$text, $self->_vars, \$out) |