File Coverage

blib/lib/XML/LibXML/Literal.pm
Criterion Covered Total %
statement 30 42 71.4
branch 2 4 50.0
condition n/a
subroutine 11 16 68.7
pod 3 10 30.0
total 46 72 63.8


line stmt bran cond sub pod time code
1             # $Id$
2             #
3             # This is free software, you may use it and distribute it under the same terms as
4             # Perl itself.
5             #
6             # Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas
7             #
8             #
9              
10             package XML::LibXML::Literal;
11              
12 67     67   484 use XML::LibXML::Boolean;
  67         162  
  67         1887  
13 67     67   403 use XML::LibXML::Number;
  67         190  
  67         1485  
14              
15 67     67   323 use strict;
  67         133  
  67         1463  
16 67     67   422 use warnings;
  67         152  
  67         2215  
17              
18 67     67   451 use vars qw ($VERSION);
  67         173  
  67         5934  
19             $VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
20              
21             use overload
22 67         747 '""' => \&value,
23 67     67   519 'cmp' => \&cmp;
  67         162  
24              
25             sub new {
26 75     75 1 144 my $class = shift;
27 75         144 my ($string) = @_;
28              
29             # $string =~ s/"/"/g;
30             # $string =~ s/'/'/g;
31              
32 75         286 bless \$string, $class;
33             }
34              
35             sub as_string {
36 0     0 0 0 my $self = shift;
37 0         0 my $string = $$self;
38 0         0 $string =~ s/'/'/g;
39 0         0 return "'$string'";
40             }
41              
42             sub as_xml {
43 0     0 0 0 my $self = shift;
44 0         0 my $string = $$self;
45 0         0 return "$string\n";
46             }
47              
48             sub value {
49 69     69 1 360 my $self = shift;
50 69         577 $$self;
51             }
52              
53             sub cmp {
54 6     6 1 636 my $self = shift;
55 6         19 my ($cmp, $swap) = @_;
56 6 100       23 if ($swap) {
57 1         9 return $cmp cmp $$self;
58             }
59 5         54 return $$self cmp $cmp;
60             }
61              
62             sub evaluate {
63 0     0 0 0 my $self = shift;
64 0         0 $self;
65             }
66              
67             sub to_boolean {
68 0     0 0 0 my $self = shift;
69 0 0       0 return (length($$self) > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False;
70             }
71              
72 0     0 0 0 sub to_number { return XML::LibXML::Number->new($_[0]->value); }
73 7     7 0 18 sub to_literal { return $_[0]; }
74              
75 2     2 0 976 sub string_value { return $_[0]->value; }
76              
77             1;
78             __END__