diff options
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | ext/Tie-Hash-NamedCapture/t/tiehash.t | 34 |
2 files changed, 35 insertions, 0 deletions
@@ -3591,6 +3591,7 @@ ext/Sys-Hostname/Hostname.xs Sys::Hostname extension external subroutines ext/Sys-Hostname/t/Hostname.t See if Sys::Hostname works ext/Tie-Hash-NamedCapture/NamedCapture.pm Implements %- and %+ behaviour ext/Tie-Hash-NamedCapture/NamedCapture.xs Implements %- and %+ behaviour +ext/Tie-Hash-NamedCapture/t/tiehash.t Tests TIEHASH ext/Tie-Memoize/lib/Tie/Memoize.pm Base class for memoized tied hashes ext/Tie-Memoize/t/Tie-Memoize.t Test for Tie::Memoize ext/VMS-DCLsym/0README.txt ReadMe file for VMS::DCLsym diff --git a/ext/Tie-Hash-NamedCapture/t/tiehash.t b/ext/Tie-Hash-NamedCapture/t/tiehash.t new file mode 100644 index 0000000000..3ebc81ad68 --- /dev/null +++ b/ext/Tie-Hash-NamedCapture/t/tiehash.t @@ -0,0 +1,34 @@ +#!./perl -w +use strict; + +use Test::More; + +my %hashes = ('+' => \%+, '-' => \%-); + +foreach (['plus1'], + ['minus1', all => 1], + ['plus2', all => 0], + ['plus3', zlonk => 1], + ['minus2', thwapp => 0, all => 1], + ) { + my $name = shift @$_; + my $hash = $hashes{$name} = {}; + isa_ok(tie(%$hash, 'Tie::Hash::NamedCapture', @$_), + 'Tie::Hash::NamedCapture', "%$name"); +} + +is("abcdef" =~ /(?<foo>[ab])*(?<bar>c)(?<foo>d)(?<bar>[ef]*)/, 1, + "We matched"); + +foreach my $name (qw(+ plus1 plus2 plus3)) { + my $hash = $hashes{$name}; + is_deeply($hash, { foo => 'b', bar => 'c' }, "%$name is as expected"); +} + +foreach my $name (qw(- minus1 minus2)) { + my $hash = $hashes{$name}; + is_deeply($hash, { foo => [qw(b d)], bar => [qw(c ef)] }, + "%$name is as expected"); +} + +done_testing(); |