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: |