1use strict;
2use warnings;
3
4package Test::Deep::RegexpMatches;
5
6use Test::Deep::Array;
7
8use base 'Test::Deep::Array';
9
10use Scalar::Util qw( blessed );
11
12sub init
13{
14	my $self = shift;
15
16	my $val = shift;
17
18	$val = Test::Deep::array($val) unless
19		blessed($val) and UNIVERSAL::isa($val, "Test::Deep::Cmp");
20
21	$self->{val} = $val;
22	$self->{regex} = shift;
23}
24
25sub descend
26{
27	my $self = shift;
28
29	my $got = shift;
30
31	return Test::Deep::descend($got, $self->{val});
32}
33
34sub render_stack
35{
36	my $self = shift;
37
38	my $stack = shift;
39
40	$stack = "[$stack =~ $self->{regex}]";
41
42	return $stack;
43#	return $self->SUPER::render_stack($stack);
44}
45
46sub reset_arrow
47{
48	return 1;
49}
50
511;
52