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   118 use strict;
  36         40  
  36         831  
3 36     36   138 use warnings;
  36         36  
  36         742  
4 36     36   102 use Carp qw(croak carp);
  36         43  
  36         1451  
5 36     36   124 use base qw(Exporter);
  36         41  
  36         3492  
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.003'; # VERSION
12              
13 36     36   199 use constant ATTR_TEXT => 0;
  36         41  
  36         2003  
14 36     36   134 use constant ATTR_LINE => 1;
  36         44  
  36         1394  
15 36     36   116 use constant ATTR_OPEN_CLOSE => 2;
  36         44  
  36         1299  
16 36     36   111 use constant ATTR_NAME => 3;
  36         32  
  36         1207  
17 36     36   117 use constant ATTR_ATTRIBUTES => 4;
  36         36  
  36         1235  
18 36     36   118 use constant ATTR_FILE => 5;
  36         38  
  36         1220  
19 36     36   110 use constant ATTR_LEVEL => 6;
  36         37  
  36         1187  
20              
21 36     36   108 use constant NO_TAG => 0;
  36         35  
  36         1244  
22 36     36   116 use constant OPENING_TAG => 1;
  36         34  
  36         1213  
23 36     36   112 use constant CLOSING_TAG => 2;
  36         31  
  36         11238  
24              
25             sub new {
26 1055     1055 0 1314 my ($class, @args) = @_;
27 1055         707 my $self;
28 1055 50 33     3754 if (@args == 1 and ref $args[0] eq 'ARRAY') {
29 1055         974 $self = $args[0];
30             }
31             else {
32 0         0 $self = [];
33             }
34 1055         1122 bless $self, $class;
35 1055         2053 return $self;
36             }
37              
38 3     3 0 9 sub get_text { $_[0]->[ATTR_TEXT] }
39 3     3 0 8 sub set_text { $_[0]->[ATTR_TEXT] = $_[1] }
40 6     6 0 22 sub get_name { $_[0]->[ATTR_NAME] }
41 0     0 0 0 sub set_name { $_[0]->[ATTR_NAME] = $_[1] }
42 1     1 0 7 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 486 sub get_attributes { $_[0]->[ATTR_ATTRIBUTES] }
47 0     0 0 0 sub set_attributes { $_[0]->[ATTR_ATTRIBUTES] = $_[1] }
48 1     1 0 6 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   149 use Carp qw(croak carp);
  36         38  
  36         1481  
55 36     36   117 use base qw(HTML::Template::Compiled::Token);
  36         50  
  36         3273  
56              
57 0     0   0 sub is_open { 0 }
58 0     0   0 sub is_close { 0 }
59 544     544   1086 sub is_tag { 0 }
60              
61             package HTML::Template::Compiled::Token::open;
62 36     36   142 use base qw(HTML::Template::Compiled::Token);
  36         46  
  36         2871  
63 775     775   1847 sub is_open { 1 }
64 281     281   600 sub is_close { 0 }
65 383     383   1152 sub is_tag { 1 }
66              
67             package HTML::Template::Compiled::Token::close;
68 36     36   146 use base qw(HTML::Template::Compiled::Token);
  36         42  
  36         2763  
69 201     201   681 sub is_open { 0 }
70 201     201   408 sub is_close { 1 }
71 99     99   285 sub is_tag { 1 }
72              
73             package HTML::Template::Compiled::Token::single;
74 36     36   124 use base qw(HTML::Template::Compiled::Token);
  36         33  
  36         2768  
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__