File Coverage

blib/lib/Test/Deep/None.pm
Criterion Covered Total %
statement 34 35 97.1
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 4 0.0
total 44 50 88.0


line stmt bran cond sub pod time code
1 1     1   7 use strict;
  1         2  
  1         29  
2 1     1   5 use warnings;
  1         2  
  1         37  
3              
4             package Test::Deep::None 1.202;
5              
6 1     1   411 use Test::Deep::Cmp;
  1         2  
  1         4  
7              
8             sub init
9             {
10 5     5 0 9 my $self = shift;
11              
12             my @list = map {
13 5         10 eval { $_->isa('Test::Deep::None') }
  7         54  
14 7 50       10 ? @{ $_->{val} }
  0         0  
15             : $_
16             } @_;
17              
18 5         47 $self->{val} = \@list;
19             }
20              
21             sub descend
22             {
23 5     5 0 8 my $self = shift;
24 5         8 my $got = shift;
25              
26 5         6 foreach my $cmp (@{$self->{val}})
  5         10  
27             {
28 7 100       18 return 0 if Test::Deep::eq_deeply_cache($got, $cmp);
29             }
30              
31 3         7 return 1;
32             }
33              
34             sub renderExp
35             {
36 2     2 0 2 my $self = shift;
37              
38 2         11 my @expect = map {; Test::Deep::wrap($_) } @{ $self->{val} };
  3         7  
  2         6  
39 2         4 my $things = join(", ", map {$_->renderExp} @expect);
  3         10  
40              
41 2         8 return "None of ( $things )";
42             }
43              
44             sub diagnostics
45             {
46 1     1 0 2 my $self = shift;
47 1         2 my ($where, $last) = @_;
48              
49 1         4 my $got = $self->renderGot($last->{got});
50 1         3 my $exp = $self->renderExp;
51              
52 1         3 my $diag = <
53             Comparing $where with None
54             got : $got
55             expected : $exp
56             EOM
57              
58 1         7 $diag =~ s/\n+$/\n/;
59 1         3 return $diag;
60             }
61              
62             1;
63              
64             __END__