File Coverage

blib/lib/Test/Deep/ArrayElementsOnly.pm
Criterion Covered Total %
statement 29 29 100.0
branch 4 4 100.0
condition n/a
subroutine 7 7 100.0
pod 0 4 0.0
total 40 44 90.9


line stmt bran cond sub pod time code
1 18     18   122 use strict;
  18         40  
  18         588  
2 18     18   94 use warnings;
  18         48  
  18         668  
3              
4             package Test::Deep::ArrayElementsOnly 1.203;
5              
6 18     18   103 use Test::Deep::Ref;
  18         44  
  18         131  
7              
8             sub init
9             {
10 118     118 0 230 my $self = shift;
11              
12 118         179 my $val = shift;
13              
14 118         899 $self->{val} = $val;
15             }
16              
17             sub descend
18             {
19 118     118 0 213 my $self = shift;
20 118         187 my $got = shift;
21              
22 118         194 my $exp = $self->{val};
23              
24 118         321 my $data = $self->data;
25              
26 118         189 for my $i (0..$#{$exp})
  118         439  
27             {
28 199         373 $data->{index} = $i;
29              
30 199         330 my $got_elem = $got->[$i];
31 199         286 my $exp_elem = $exp->[$i];
32              
33 199 100       408 return 0 unless Test::Deep::descend($got_elem, $exp_elem)
34             }
35              
36 78         197 return 1;
37             }
38              
39             sub render_stack
40             {
41 31     31 0 57 my $self = shift;
42 31         79 my ($var, $data) = @_;
43 31 100       89 $var .= "->" unless $Test::Deep::Stack->incArrow;
44 31         82 $var .= "[$data->{index}]";
45              
46 31         111 return $var;
47             }
48              
49             sub reset_arrow
50             {
51 31     31 0 86 return 0;
52             }
53              
54             1;
55              
56             __END__