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 3     3   22 use strict;
  3         8  
  3         90  
2 3     3   14 use warnings;
  3         5  
  3         104  
3              
4             package Test::Deep::All 1.204;
5              
6 3     3   13 use Scalar::Util ();
  3         6  
  3         42  
7 3     3   12 use Test::Deep::Cmp;
  3         5  
  3         26  
8              
9             sub init
10             {
11 10     10 0 15 my $self = shift;
12              
13             my @list = map {
14 10         21 (Scalar::Util::blessed($_) && $_->isa('Test::Deep::All'))
15 18 100 100     169 ? @{ $_->{val} }
  2         6  
16             : $_
17             } @_;
18              
19 10         121 $self->{val} = \@list;
20             }
21              
22             sub descend
23             {
24 7     7 0 11 my $self = shift;
25 7         8 my $got = shift;
26              
27 7         20 my $data = $self->data;
28              
29 7         10 my $index = 1;
30              
31 7         11 foreach my $cmp (@{$self->{val}})
  7         16  
32             {
33 15         26 $data->{index} = $index;
34 15         19 $index++;
35              
36 15 100       41 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         4 my $data = shift;
48              
49 3         4 my $max = @{$self->{val}};
  3         6  
50              
51 3         12 return "(Part $data->{index} of $max in $var)";
52             }
53              
54             1;
55              
56             __END__