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 2     2   12 #line 1
  2         4  
  2         70  
2 2     2   12 use strict;
  2         3  
  2         72  
3             use warnings;
4              
5             package Test::Deep::ArrayElementsOnly;
6 2     2   10  
  2         5  
  2         14  
7             use Test::Deep::Ref;
8              
9             sub init
10 19     19 0 27 {
11             my $self = shift;
12 19         33  
13             my $val = shift;
14 19         264  
15             $self->{val} = $val;
16             }
17              
18             sub descend
19 19     19 0 40 {
20 19         33 my $self = shift;
21             my $got = shift;
22 19         35  
23             my $exp = $self->{val};
24 19         78  
25             my $data = $self->data;
26 19         35  
  19         56  
27             for my $i (0..$#{$exp})
28 42         72 {
29             $data->{index} = $i;
30 42         75  
31 42         60 my $got_elem = $got->[$i];
32             my $exp_elem = $exp->[$i];
33 42 50       106  
34             return 0 unless Test::Deep::descend($got_elem, $exp_elem)
35             }
36 19         65  
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;