File Coverage

blib/lib/Facebook/InstantArticle/Heading.pm
Criterion Covered Total %
statement 6 11 54.5
branch 0 2 0.0
condition n/a
subroutine 2 3 66.6
pod n/a
total 8 16 50.0


line stmt bran cond sub pod time code
1             package Facebook::InstantArticle::Heading;
2 2     2   13 use Moose;
  2         4  
  2         19  
3 2     2   15329 use namespace::autoclean;
  2         4  
  2         17  
4              
5             extends 'Facebook::InstantArticle::BaseElement';
6              
7             has 'level' => (
8             isa => 'Int',
9             is => 'rw',
10             required => 1,
11             default => 0,
12             );
13              
14             has 'text' => (
15             isa => 'Str',
16             is => 'rw',
17             required => 1,
18             default => '',
19             );
20              
21             has 'is_valid' => (
22             isa => 'Bool',
23             is => 'ro',
24             lazy => 1,
25             default => sub {
26             my $self = shift;
27              
28             return (length $self->text && $self->level > 1 && $self->level < 7) ? 1 :0;
29             },
30             );
31              
32             has 'as_xml_gen' => (
33             isa => 'Object',
34             is => 'ro',
35             lazy => 1,
36             builder => '_build_as_xml_gen',
37             );
38              
39             sub _build_as_xml_gen {
40 0     0     my $self = shift;
41              
42 0           my $gen = XML::Generator->new( ':pretty' );
43              
44 0 0         if ( $self->level == 1 ) {
45 0           return $gen->h1(
46             \$self->text,
47             );
48             }
49             else {
50 0           return $gen->h2(
51             \$self->text,
52             );
53             }
54             }
55              
56             1;