File Coverage

lib/XML/XMetaL/Mock/DOMElement.pm
Criterion Covered Total %
statement 48 48 100.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 13 13 100.0
pod 0 1 0.0
total 63 67 94.0


line stmt bran cond sub pod time code
1             package XML::XMetaL::Mock::DOMElement::Tie;
2            
3 2     2   122998 use Tie::Hash;
  2         6836  
  2         66  
4 2     2   21 use base 'Tie::StdHash';
  2         4  
  2         2345  
5            
6             sub TIEHASH {
7 3     3   8 my ($class, $object) = @_;
8 3         9 my $self = bless $object, $class;
9 3         9 return $self;
10             }
11            
12             #sub STORE {
13             # my ($self, $key, $value) = @_;
14             # $self->{$key} = $value;
15             # $self->{length} = length $value if $key eq 'data';
16             #}
17            
18             package XML::XMetaL::Mock::DOMElement;
19            
20 2     2   67 use 5.008;
  2         9  
  2         125  
21 2     2   19 use strict;
  2         4  
  2         86  
22 2     2   13 use warnings;
  2         5  
  2         72  
23            
24 2     2   11 use Carp;
  2         4  
  2         146  
25 2     2   4964 use Hash::Util qw(lock_keys);
  2         11814  
  2         15  
26 2     2   915 use Tie::Hash;
  2         5  
  2         57  
27            
28 2     2   13 use base ('Tie::StdHash', 'XML::XMetaL::Mock::DOMNode');
  2         5  
  2         4522  
29            
30 2     2   15 use constant TRUE => 1;
  2         4  
  2         98  
31 2     2   10 use constant FALSE => 0;
  2         5  
  2         484  
32            
33             our @keys = qw(
34             localName
35             namespaceURI
36             prefix
37             tagName
38             );
39            
40            
41             sub new {
42 3     3 0 45 my ($class, %args) = @_;
43 3         7 my %self;
44             my $self;
45 3         82 eval {
46 3         6 my %properties;
47 3         25 @properties{@keys} = @args{@keys};
48 3         42 my $super_class = $class->SUPER::new(%args);
49 3         43 %properties = (
50             %$super_class,
51             %properties,
52             );
53 3         28 tie %self, 'XML::XMetaL::Mock::DOMElement::Tie', \%properties;
54 3   33     21 $self = bless \%self, ref($class) || $class;
55 3         26 lock_keys(%$self, keys %$self);
56            
57             };
58 3 50       1032 croak $@ if $@;
59 3         13 return $self;
60             }
61            
62             #getAttribute
63             #getAttributeNS
64             #getAttributeNode
65             #getAttributeNodeNS
66             #getElementsByTagName
67             #getElementsByTagNameNS
68             #hasAttribute
69             #hasAttributeNS
70             #normalize
71             #removeAttribute
72             #removeAttributeNS
73             #removeAttributeNode
74             #setAttribute
75             #setAttributeNS
76             #setAttributeNode
77             #setAttributeNodeNS
78            
79            
80             1;
81             __END__