File Coverage

blib/lib/XML/Char.pm
Criterion Covered Total %
statement 27 27 100.0
branch 5 6 83.3
condition n/a
subroutine 7 7 100.0
pod 1 1 100.0
total 40 41 97.5


line stmt bran cond sub pod time code
1             package XML::Char;
2              
3 2     2   129486 use utf8;
  2         10  
  2         13  
4 2     2   78 use 5.006;
  2         6  
5 2     2   8 use strict;
  2         3  
  2         74  
6 2     2   11 use warnings;
  2         3  
  2         96  
7              
8             our $VERSION = '0.04';
9              
10 2     2   794 use parent qw(DynaLoader);
  2         488  
  2         8  
11              
12 2     2   94 use Exporter 'import';
  2         3  
  2         278  
13             our @EXPORT_OK = qw(
14             );
15              
16             __PACKAGE__->bootstrap;
17              
18             sub valid {
19 26     26 1 10608 my ($self, $value);
20 26 100       51 if (@_ < 2) {
21 2         3 $self = __PACKAGE__;
22 2         4 $value = shift @_;
23             }
24             else {
25 24         34 $self = shift @_;
26 24         28 $value = shift @_;
27             }
28              
29             die 'bad usage'
30 26 50       28 if not eval { $self->can('valid') };
  26         97  
31              
32             # undef is valid
33 26 100       55 return 1
34             if not defined $value;
35              
36 25         109 return _valid_xml_string($value);
37             }
38              
39             1;
40              
41             __END__