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   127 use strict;
  18         36  
  18         543  
2 18     18   93 use warnings;
  18         43  
  18         659  
3              
4             package Test::Deep::ArrayElementsOnly 1.204;
5              
6 18     18   110 use Test::Deep::Ref;
  18         35  
  18         132  
7              
8             sub init
9             {
10 118     118 0 172 my $self = shift;
11              
12 118         185 my $val = shift;
13              
14 118         1305 $self->{val} = $val;
15             }
16              
17             sub descend
18             {
19 118     118 0 212 my $self = shift;
20 118         167 my $got = shift;
21              
22 118         207 my $exp = $self->{val};
23              
24 118         334 my $data = $self->data;
25              
26 118         196 for my $i (0..$#{$exp})
  118         404  
27             {
28 199         365 $data->{index} = $i;
29              
30 199         364 my $got_elem = $got->[$i];
31 199         284 my $exp_elem = $exp->[$i];
32              
33 199 100       420 return 0 unless Test::Deep::descend($got_elem, $exp_elem)
34             }
35              
36 78         193 return 1;
37             }
38              
39             sub render_stack
40             {
41 31     31 0 76 my $self = shift;
42 31         78 my ($var, $data) = @_;
43 31 100       92 $var .= "->" unless $Test::Deep::Stack->incArrow;
44 31         91 $var .= "[$data->{index}]";
45              
46 31         106 return $var;
47             }
48              
49             sub reset_arrow
50             {
51 31     31 0 100 return 0;
52             }
53              
54             1;
55              
56             __END__