File Coverage

blib/lib/Rose/HTML/Form/Field/OnOff/Selectable.pm
Criterion Covered Total %
statement 28 28 100.0
branch 18 18 100.0
condition n/a
subroutine 8 8 100.0
pod 2 6 33.3
total 56 60 93.3


line stmt bran cond sub pod time code
1              
2             use strict;
3 12     12   85  
  12         23  
  12         318  
4             use base 'Rose::HTML::Form::Field::OnOff';
5 12     12   53  
  12         23  
  12         4401  
6             our $VERSION = '0.606';
7              
8             __PACKAGE__->required_html_attr_value
9             (
10             value => '',
11             );
12              
13             {
14             my($self) = shift;
15              
16 4261     4261 0 5305 if(@_)
17             {
18 4261 100       6973 $self->is_cleared(0);
19             return $self->{'selected'} =
20 1218         2533 $self->html_attr(selected => $_[0] ? 1 : (defined $_[0] ? 0 : undef));
21 1218 100       5236 }
    100          
22              
23             return 0 if($self->is_cleared);
24              
25 3043 100       5359 return defined $self->{'selected'} ? $self->{'selected'} : $self->default_value;
26             }
27 1631 100       9924  
28             *input_value = \&selected;
29              
30              
31              
32 2452 100   2452 0 3464 {
33             my($self) = shift;
34 2451     2451 0 3657  
35             $self->selected(0);
36             $self->error(undef);
37             $self->is_cleared(1);
38 859     859 1 1123 }
39              
40 859         1756 {
41 859         2228 my($self) = shift;
42 859         1563  
43             $self->selected(undef);
44             $self->error(undef);
45             $self->is_cleared(0);
46             return 1;
47 47     47 1 67 }
48              
49 47         96 {
50 47         117 my($self) = shift;
51 47         104  
52 47         170 if(@_)
53             {
54             if($self->{'_hidden'} = shift(@_) ? 1 : 0)
55             {
56             $self->selected(undef);
57 614     614 0 796 }
58             }
59 614 100       960  
60             return $self->{'_hidden'};
61 31 100       79 }
    100          
62              
63 15         27 1;