File Coverage

blib/lib/Test/Deep/All.pm
Criterion Covered Total %
statement 34 34 100.0
branch 4 4 100.0
condition 3 3 100.0
subroutine 7 7 100.0
pod 0 3 0.0
total 48 51 94.1


line stmt bran cond sub pod time code
1 2     2   15 use strict;
  2         4  
  2         57  
2 2     2   10 use warnings;
  2         4  
  2         70  
3              
4             package Test::Deep::All 1.202;
5              
6 2     2   10 use Scalar::Util ();
  2         4  
  2         40  
7 2     2   10 use Test::Deep::Cmp;
  2         4  
  2         10  
8              
9             sub init
10             {
11 9     9 0 13 my $self = shift;
12              
13             my @list = map {
14 9         17 (Scalar::Util::blessed($_) && $_->isa('Test::Deep::All'))
15 17 100 100     98 ? @{ $_->{val} }
  2         6  
16             : $_
17             } @_;
18              
19 9         86 $self->{val} = \@list;
20             }
21              
22             sub descend
23             {
24 7     7 0 8 my $self = shift;
25 7         20 my $got = shift;
26              
27 7         21 my $data = $self->data;
28              
29 7         13 my $index = 1;
30              
31 7         9 foreach my $cmp (@{$self->{val}})
  7         16  
32             {
33 15         24 $data->{index} = $index;
34 15         22 $index++;
35              
36 15 100       32 next if Test::Deep::descend($got, $cmp);
37 3         9 return 0
38             }
39              
40 4         11 return 1;
41             }
42              
43             sub render_stack
44             {
45 3     3 0 5 my $self = shift;
46 3         4 my $var = shift;
47 3         5 my $data = shift;
48              
49 3         3 my $max = @{$self->{val}};
  3         7  
50              
51 3         13 return "(Part $data->{index} of $max in $var)";
52             }
53              
54             1;
55              
56             __END__