In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/557a446828803db33a91ae2124c09299dfc1d87a?hp=2ec5653d4ccd411ce2acd12770f34b981c5dc303>
- Log ----------------------------------------------------------------- commit 557a446828803db33a91ae2124c09299dfc1d87a Author: Nicholas Clark <[email protected]> Date: Tue Mar 8 15:28:37 2011 +0000 Add tests for documented behaviour of Tie::Hash::NamedCapture::TIEHASH. ----------------------------------------------------------------------- Summary of changes: MANIFEST | 1 + ext/Tie-Hash-NamedCapture/t/tiehash.t | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 ext/Tie-Hash-NamedCapture/t/tiehash.t diff --git a/MANIFEST b/MANIFEST index a19bc36..06e0206 100644 --- a/MANIFEST +++ b/MANIFEST @@ -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 0000000..3ebc81a --- /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(); -- Perl5 Master Repository
