File Coverage

blib/lib/HTML/Tag/DATE.pm
Criterion Covered Total %
statement 29 29 100.0
branch 4 6 66.6
condition 1 3 33.3
subroutine 7 7 100.0
pod 0 1 0.0
total 41 46 89.1


line stmt bran cond sub pod time code
1             package HTML::Tag::DATE;
2              
3 1     1   7 use strict;
  1         2  
  1         56  
4 1     1   7 use warnings;
  1         3  
  1         39  
5              
6 1     1   6 use Class::AutoAccess;
  1         2  
  1         30  
7 1     1   8 use base qw(Class::AutoAccess HTML::Tag);
  1         2  
  1         191  
8              
9             our $VERSION = '1.02';
10              
11             BEGIN {
12 1     1   319 our $class_def = {
13             element => 'DATE',
14             tag => 'SELECT',
15             js => 'html_tag_datetime_loader.js',
16             value => '',
17             }
18             }
19              
20             sub html {
21 6     6 0 536 my $self = shift;
22 6         31 my $name = $self->name;
23 6         77 my $value = $self->value;
24              
25 6         51 $value = &_normalize_value($value);
26 6   33     32 my $js = $HTML::Tag::DATE::js || $self->js;
27 6         61 my $ret =<<"";
28            
29            
30            
31              
32 6         397 return $ret;
33             }
34              
35             sub _normalize_value {
36 6     6   7 my $value = shift;
37 6 100       16 if ($value eq 'now') {
38 1         18 my ($day,$month,$year) = (localtime())[3..5];
39 1         2 $year += 1900;
40 1         2 $month++;
41 1 50       5 $month = "0$month" if length($month) == 1;
42 1 50       5 $day = "0$day" if length($day) == 1;
43 1         4 $value = "$year-$month-$day";
44             }
45 6         8 return $value;
46             }
47              
48              
49             1;
50              
51             # vim: set ts=2: