File Coverage

blib/lib/HTML/WidgetValidator/Widget/FlickrBadge.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package HTML::WidgetValidator::Widget::FlickrBadge;
2 1     1   5 use base qw(HTML::WidgetValidator::Widget);
  1         2  
  1         76  
3 1     1   5 use warnings;
  1         2  
  1         24  
4 1     1   4 use strict;
  1         2  
  1         544  
5            
6             __PACKAGE__->name('Flickr Bagde');
7             __PACKAGE__->url('http://www.flickr.com/badge.gne');
8             __PACKAGE__->models([
9             [
10             { type => 'start', name=>'style',
11             attr => {
12             type => 'text/css',
13             },
14             },
15             { type => 'text',
16             text => qr{\s*(?:(?:\.zg_div\s+\{margin:\d+px\s+\d+px\s+\d+px\s+\d+px;\s+width:\d+px;\}\s*)|(?:\.zg_div_inner\s+\{(?:border:\s*solid\s+\d+px\s+#[0-9A-Fa-f]{6};)?\s*(?:background\-color:\s*#[0-9A-Fa-f]{6};)?\s*color:\s*\#[0-9A-Fa-f]{6};\s+text\-align:\s*center;\s+font\-family:[0-9A-Za-z\,\s]+;\s+font\-size:\s*\d+px;\}\s*)|(?:\.zg_div\s+a,\s+\.zg_div\s+a:hover,\s+\.zg_div\s+a:visited\s+\{color:#[0-9A-Fa-f]{6};\s+background:\s*inherit\s+\!important;\s+text-decoration:\s*none\s+\!important;\}\s*))+},},
17             { type => 'end', name=>'style' }
18             ],
19             [
20             { type => 'start', name=>'script',
21             attr => {
22             type => 'text/javascript',
23             },},
24             { type => 'text',
25             text => qr{\s*\s*zg_insert_badge\s+=\s+function\(\)\s+\{\s+var\s+zg_bg_color\s+=\s+'[0-9A-Fa-f]{6}';\s+var\s+zgi_url\s+=\s+'http:\/\/www\.flickr\.com\/apps\/badge\/badge_iframe\.gne\?zg_bg_color='\+zg_bg_color\+'(?:&zg_person_id=[^'&\?<>]+)?(?:&zg_tags=[^<>&]+&zg_tag_mode=[a-z]+)?(?:&zg_set_id=\d+&zg_context=in%2Fset\-\d+%2F)?&?';\s+document\.write\('<\\\/iframe>'\);\s+if\s+\(document\.getElementById\)\s+document\.write\('[A-Za-z0-9_\-\s\%\?]+<\\\/a><\\\/div>'\);\s+\}\s+zg_toggleWhat\s+=\s+function\(\)\s+\{\s+document\.getElementById\('zg_whatdiv'\)\.style\.display\s+=\s+\(document\.getElementById\('zg_whatdiv'\)\.style\.display\s+\!=\s+'none'\)\s+\?\s+'none'\s+:\s+'block';\s+document\.getElementById\('zg_whatlink'\)\.style\.display\s+=\s+\(document\.getElementById\('zg_whatdiv'\)\.style\.display\s+\!=\s+'none'\)\s+\?\s+'none'\s+:\s+'block';\s+return\s+false;\s+\}\s*},},
26             { type => 'end', name=>'script' },
27             ],
28             [
29             { type => 'start', name=>'script',
30             attr => {
31             type => 'text/javascript',
32             },},
33             { type => 'text',text => qr{\s*zg_insert_badge\(\);\s*},},
34             { type => 'end', name=>'script' },
35             ],
36             [
37             { type => 'start', name=>'script',
38             attr => {
39             type => 'text/javascript',
40             },},
41             { type => 'text', text => qr{\s*if\s*\(document\.getElementById\)\s*document\.getElementById\('zg_whatdiv'\)\.style\.display\s*=\s*'none';\s*} ,},
42             { type => 'end', name=>'script' },
43             ],
44             ]);
45            
46             1;
47             __END__