File Coverage

blib/lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
Criterion Covered Total %
statement 33 33 100.0
branch 14 14 100.0
condition 13 14 92.8
subroutine 12 12 100.0
pod 0 5 0.0
total 72 78 92.3


line stmt bran cond sub pod time code
1             package SOAP::WSDL::XSD::Typelib::Builtin::boolean;
2 36     36   35299 use strict;
  36         65  
  36         1212  
3 36     36   182 use warnings;
  36         79  
  36         1046  
4 36     36   1163 use Class::Std::Fast::Storable constructor => 'none', cache => 1;
  36         37317  
  36         259  
5              
6 36     36   7957 use version; our $VERSION = qv('3.001');
  36         60  
  36         375  
7              
8 36     36   3490 use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
  36         72  
  36         11096  
9              
10             sub serialize {
11 10   100 10 0 56 $_[1] ||= {};
12 10         34 my $value =$_[0]->get_value();
13 10 100       65 return $_[0]->start_tag({ %{$_[1]}, nil => 1})
  1         8  
14             if not defined $value;
15 9 100 100     44 return join q{}
16             , $_[0]->start_tag($_[1])
17             , $value && $value ne 'false' ? 'true' : 'false'
18             , $_[0]->end_tag($_[1]);
19             }
20              
21             sub as_string :STRINGIFY {
22 7     7 0 1637 my $value = $_[0]->get_value();
23 7 100       60 return q{} if not defined $value;
24 5 100 100     56 return ($value && $value ne 'false') ? 1 : 0;
25 36     36   211 }
  36         71  
  36         286  
26              
27             sub as_num :NUMERIFY :BOOLIFY {
28 10     10 0 248 my $value = $_[0]->get_value();
29 10 100 100     136 return ($value && $value ne 'false') ? 1 : 0;
30 36     36   10219 }
  36         73  
  36         187  
31              
32             sub set_value {
33 5 100 66 5 0 860 $_[0]->SUPER::set_value( defined $_[1]
    100          
34             ? ($_[1] ne 'false' && ($_[1]) )
35             ? 1 : 0
36             : 0);
37             }
38              
39 1     1 0 8 sub delete_value { $_[0]->SUPER::set_value(undef) }
40              
41             Class::Std::Fast::initialize(); # make :BOOLIFY overloading serializable
42              
43             1;