File Coverage

blib/lib/HTML/Template/Compiled/Token.pm
Criterion Covered Total %
statement 76 90 84.4
branch 1 2 50.0
condition 1 3 33.3
subroutine 33 46 71.7
pod 0 15 0.0
total 111 156 71.1


line stmt bran cond sub pod time code
1             package HTML::Template::Compiled::Token;
2 36     36   122 use strict;
  36         36  
  36         818  
3 36     36   110 use warnings;
  36         35  
  36         734  
4 36     36   105 use Carp qw(croak carp);
  36         41  
  36         1396  
5 36     36   135 use base qw(Exporter);
  36         38  
  36         3487  
6             our @EXPORT_OK = qw(&NO_TAG &OPENING_TAG &CLOSING_TAG);
7             our %EXPORT_TAGS = (
8             tagtypes => [qw(&NO_TAG &OPENING_TAG &CLOSING_TAG)],
9             );
10              
11             our $VERSION = '1.002_001'; # TRIAL VERSION
12              
13 36     36   156 use constant ATTR_TEXT => 0;
  36         46  
  36         1784  
14 36     36   127 use constant ATTR_LINE => 1;
  36         40  
  36         1334  
15 36     36   121 use constant ATTR_OPEN_CLOSE => 2;
  36         45  
  36         1350  
16 36     36   115 use constant ATTR_NAME => 3;
  36         35  
  36         1244  
17 36     36   116 use constant ATTR_ATTRIBUTES => 4;
  36         46  
  36         1236  
18 36     36   111 use constant ATTR_FILE => 5;
  36         38  
  36         1290  
19 36     36   123 use constant ATTR_LEVEL => 6;
  36         37  
  36         1264  
20              
21 36     36   110 use constant NO_TAG => 0;
  36         39  
  36         1332  
22 36     36   118 use constant OPENING_TAG => 1;
  36         37  
  36         1178  
23 36     36   119 use constant CLOSING_TAG => 2;
  36         33  
  36         11797  
24              
25             sub new {
26 1055     1055 0 1294 my ($class, @args) = @_;
27 1055         788 my $self;
28 1055 50 33     3689 if (@args == 1 and ref $args[0] eq 'ARRAY') {
29 1055         968 $self = $args[0];
30             }
31             else {
32 0         0 $self = [];
33             }
34 1055         1149 bless $self, $class;
35 1055         2084 return $self;
36             }
37              
38 3     3 0 13 sub get_text { $_[0]->[ATTR_TEXT] }
39 3     3 0 13 sub set_text { $_[0]->[ATTR_TEXT] = $_[1] }
40 6     6 0 20 sub get_name { $_[0]->[ATTR_NAME] }
41 0     0 0 0 sub set_name { $_[0]->[ATTR_NAME] = $_[1] }
42 1     1 0 6 sub get_line { $_[0]->[ATTR_LINE] }
43 0     0 0 0 sub set_line { $_[0]->[ATTR_LINE] = $_[1] }
44 0     0 0 0 sub get_open_close { $_[0]->[ATTR_OPEN_CLOSE] }
45 0     0 0 0 sub set_open_close { $_[0]->[ATTR_OPEN_CLOSE] = $_[1] }
46 288     288 0 503 sub get_attributes { $_[0]->[ATTR_ATTRIBUTES] }
47 0     0 0 0 sub set_attributes { $_[0]->[ATTR_ATTRIBUTES] = $_[1] }
48 1     1 0 7 sub get_file { $_[0]->[ATTR_FILE] }
49 0     0 0 0 sub set_file { $_[0]->[ATTR_FILE] = $_[1] }
50 0     0 0 0 sub get_level { $_[0]->[ATTR_FILE] }
51 0     0 0 0 sub set_level { $_[0]->[ATTR_FILE] = $_[1] }
52              
53             package HTML::Template::Compiled::Token::Text;
54 36     36   152 use Carp qw(croak carp);
  36         38  
  36         1560  
55 36     36   126 use base qw(HTML::Template::Compiled::Token);
  36         56  
  36         3472  
56              
57 0     0   0 sub is_open { 0 }
58 0     0   0 sub is_close { 0 }
59 544     544   1095 sub is_tag { 0 }
60              
61             package HTML::Template::Compiled::Token::open;
62 36     36   169 use base qw(HTML::Template::Compiled::Token);
  36         47  
  36         3089  
63 775     775   1853 sub is_open { 1 }
64 281     281   646 sub is_close { 0 }
65 383     383   1144 sub is_tag { 1 }
66              
67             package HTML::Template::Compiled::Token::close;
68 36     36   152 use base qw(HTML::Template::Compiled::Token);
  36         48  
  36         2959  
69 201     201   665 sub is_open { 0 }
70 201     201   407 sub is_close { 1 }
71 99     99   297 sub is_tag { 1 }
72              
73             package HTML::Template::Compiled::Token::single;
74 36     36   133 use base qw(HTML::Template::Compiled::Token);
  36         44  
  36         2814  
75 0     0     sub is_open { 1 }
76 0     0     sub is_close { 0 }
77 0     0     sub is_tag { 1 }
78              
79             1;
80              
81             __END__