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