]> git.vpit.fr Git - perl/modules/re-engine-Plugin.git/blob - t/named_buff/FETCH.t
Importing re-engine-Plugin-0.04_01.tar.gz
[perl/modules/re-engine-Plugin.git] / t / named_buff / FETCH.t
1 use strict;
2 use Test::More tests => 16;
3
4 use re::engine::Plugin (
5     exec => sub {
6         my $re = shift;
7
8         $re->stash( [
9             {
10                 key => "a",
11                 flags => 0,
12                 ret => "b",
13             },
14             {
15                 key => "c",
16                 flags => 0,
17                 ret => "d",
18             },
19             {
20                 key => "e",
21                 flags => 1,
22                 ret => "f",
23             },
24             {
25                 key => "g",
26                 flags => 1,
27                 ret => \%ENV,
28             },
29         ] );
30
31         $re->named_captures(
32             FETCH => sub {
33                 my ($re, $key, $flags) = @_;
34                 my $hv = shift @{ $re->stash };
35
36                 is($key, $hv->{key}, "key == $key");
37                 is($flags, $hv->{flags}, "flags == $flags");
38                 is($hv->{ret}, $hv->{ret}, "ret = $hv->{ret}");
39                 return $hv->{ret};
40             },
41         );
42
43         1;
44     },
45 );
46
47 "a" =~ /a/;
48 cmp_ok($+{a}, 'eq', "b");
49 cmp_ok($+{c}, 'eq', "d");
50 cmp_ok($-{e}, 'eq', "f");
51 cmp_ok($-{g}, '==', \%ENV);