File Coverage

inc/Test/Deep/ArrayElementsOnly.pm
Criterion Covered Total %
statement 23 29 79.3
branch 1 4 25.0
condition n/a
subroutine 5 7 71.4
pod 0 4 0.0
total 29 44 65.9


line stmt bran cond sub pod time code
1 12     12   70 #line 1
  12         22  
  12         511  
2 12     12   76 use strict;
  12         20  
  12         452  
3             use warnings;
4              
5             package Test::Deep::ArrayElementsOnly;
6 12     12   65  
  12         42  
  12         79  
7             use Test::Deep::Ref;
8              
9             sub init
10 65     65 0 94 {
11             my $self = shift;
12 65         121  
13             my $val = shift;
14 65         1415  
15             $self->{val} = $val;
16             }
17              
18             sub descend
19 65     65 0 100 {
20 65         84 my $self = shift;
21             my $got = shift;
22 65         150  
23             my $exp = $self->{val};
24 65         270  
25             my $data = $self->data;
26 65         105  
  65         212  
27             for my $i (0..$#{$exp})
28 432         719 {
29             $data->{index} = $i;
30 432         616  
31 432         495 my $got_elem = $got->[$i];
32             my $exp_elem = $exp->[$i];
33 432 50       1030  
34             return 0 unless Test::Deep::descend($got_elem, $exp_elem)
35             }
36 65         237  
37             return 1;
38             }
39              
40             sub render_stack
41 0     0 0   {
42 0           my $self = shift;
43 0 0         my ($var, $data) = @_;
44 0           $var .= "->" unless $Test::Deep::Stack->incArrow;
45             $var .= "[$data->{index}]";
46 0            
47             return $var;
48             }
49              
50             sub reset_arrow
51 0     0 0   {
52             return 0;
53             }
54              
55             1;