File Coverage

blib/lib/CSS/DOM/Rule/Charset.pm
Criterion Covered Total %
statement 34 34 100.0
branch 6 6 100.0
condition n/a
subroutine 10 10 100.0
pod 2 3 66.6
total 52 53 98.1


line stmt bran cond sub pod time code
1             package CSS::DOM::Rule::Charset;
2              
3             $VERSION = '0.17';
4              
5 4     4   1167 use warnings; no warnings qw 'utf8 parenthesis';
  4     4   8  
  4         109  
  4         17  
  4         4  
  4         111  
6 4     4   15 use strict;
  4         5  
  4         119  
7              
8 4     4   335 use CSS::DOM::Util 'escape';
  4         5  
  4         146  
9 4     4   348 use CSS::DOM::Rule;
  4         6  
  4         155  
10              
11             our @ISA = 'CSS::DOM::Rule';
12              
13             use constant # Don't let this conflict with the superclass.
14 4     4   18 cset => 2;
  4         5  
  4         164  
15 4     4   16 { no strict 'refs'; delete ${__PACKAGE__.'::'}{cset} }
  4         6  
  4         687  
16              
17             # overrides:
18              
19 5     5 1 19 sub type { CSS::DOM::Rule::CHARSET_RULE }
20             sub cssText {
21 8     8 1 16 my $self = shift;
22 8         10 my $old;
23 8 100       19 if(defined wantarray) {
24 6         18 $old = "\@charset \""
25             . escape($self->[cset],'"') ."\";\n";
26             }
27 8 100       19 if (@_) {
28 3         14 require CSS::DOM::Parser;
29 3         14 my $new_rule = $self->_parse(shift);
30 2         9 @$self[cset] = @$new_rule[cset];
31             }
32 7         24 $old;
33             };
34              
35              
36             # CSSCharsetRule interface:
37              
38             sub encoding {
39 27     27 0 537 my $old = (my $self = shift)->[cset];
40 27 100       69 @_ and $$self[cset] = shift;
41 27         44 $old
42             }
43              
44             !()__END__()!
45              
46             =head1 NAME
47              
48             CSS::DOM::Rule::FontFace - CSS @font-face rule class for CSS::DOM
49              
50             =head1 VERSION
51              
52             Version 0.17
53              
54             =head1 SYNOPSIS
55              
56             use CSS::DOM;
57             my $font_face_rule = CSS::DOM->parse(
58             '@font-face { font-family: "bm"; src: url(blackmoor.ttf) }'
59             )->cssRules->[0];
60              
61             $page_rule->style; # a CSS::DOM::Style object
62             $page_rule->style->src; # 'url(blackmoor.ttf)'
63              
64             =head1 DESCRIPTION
65              
66             This module implements CSS @font-face rules for L. It inherits
67             from
68             L and implements
69             the CSSFontFaceRule DOM interface.
70              
71             =head1 THE METHOD
72              
73             =over 4
74              
75             =item style
76              
77             Returns the CSS::DOM::Style object representing the declaration block
78             of this rule.
79              
80             =back
81              
82             =head1 SEE ALSO
83              
84             L
85              
86             L
87              
88             L