File Coverage

blib/lib/YAML/Old/Marshall.pm
Criterion Covered Total %
statement 41 41 100.0
branch 4 6 66.6
condition 2 3 66.6
subroutine 11 11 100.0
pod 0 4 0.0
total 58 65 89.2


line stmt bran cond sub pod time code
1 2     2   128629 use strict; use warnings;
  2     2   5  
  2         107  
  2         12  
  2         4  
  2         95  
2             package YAML::Old::Marshall;
3              
4 2     2   1929 use YAML::Old::Node ();
  2         5  
  2         82  
5              
6             sub import {
7 4     4   104 my $class = shift;
8 2     2   10 no strict 'refs';
  2         4  
  2         209  
9 4         11 my $package = caller;
10 4 50       7 unless (grep { $_ eq $class} @{$package . '::ISA'}) {
  3         16  
  4         19  
11 4         19 push @{$package . '::ISA'}, $class;
  4         52  
12             }
13              
14 4         10 my $tag = shift;
15 4 100       2732 if ( $tag ) {
16 2     2   11 no warnings 'once';
  2         6  
  2         180  
17 1         3 $YAML::Old::TagClass->{$tag} = $package;
18 1         2 ${$package . "::YamlTag"} = $tag;
  1         44  
19             }
20             }
21              
22             sub yaml_dump {
23 3     3 0 23 my $self = shift;
24 2     2   9 no strict 'refs';
  2         4  
  2         440  
25 3   66     8 my $tag = ${ref($self) . "::YamlTag"} || 'perl/' . ref($self);
26 3         19 $self->yaml_node($self, $tag);
27             }
28              
29             sub yaml_load {
30 2     2 0 24 my ($class, $node) = @_;
31 2 50       31 if (my $ynode = $class->yaml_ynode($node)) {
32 2         6 $node = $ynode->{NODE};
33             }
34 2         10 bless $node, $class;
35             }
36              
37             sub yaml_node {
38 4     4 0 32 shift;
39 4         25 YAML::Old::Node->new(@_);
40             }
41              
42             sub yaml_ynode {
43 2     2 0 4 shift;
44 2         10 YAML::Old::Node::ynode(@_);
45             }
46              
47             1;