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