File Coverage

blib/lib/Moonshine/Bootstrap/Component/LinkedLiSpan.pm
Criterion Covered Total %
statement 11 11 100.0
branch n/a
condition 1 2 50.0
subroutine 2 2 100.0
pod n/a
total 14 15 93.3


line stmt bran cond sub pod time code
1             package Moonshine::Bootstrap::Component::LinkedLiSpan;
2              
3 7     7   224714 use Moonshine::Magic;
  7         134762  
  7         61  
4              
5             extends 'Moonshine::Bootstrap::Component';
6              
7             has(
8             linked_li_span_spec => sub {
9             {
10             tag => { default => 'li' },
11             link => { default => HASHREF },
12             span => { default => HASHREF, build => 1 },
13             data => { optional => 1, build => 1 },
14             };
15             }
16             );
17              
18             sub linked_li_span {
19 35     35   6734 my ($self) = shift;
20              
21 35   50     291 my ( $base_args, $build_args ) = $self->validate_build(
22             {
23             params => $_[0] // {},
24             spec => $self->linked_li_span_spec,
25             }
26             );
27              
28 35         478 my $base_element = Moonshine::Element->new($base_args);
29              
30             my $a = $base_element->add_child(
31             {
32             tag => 'a',
33 35         87816 ( %{ $build_args->{link} } ),
  35         353  
34             }
35             );
36              
37             $a->add_child(
38             {
39             tag => 'span',
40 35         94184 ( %{ $build_args->{span} } ),
  35         308  
41             }
42             );
43              
44 35         88184 return $base_element;
45             }
46              
47             1;
48              
49             __END__