This is an automated email from the git hooks/post-receive script. intrigeri pushed a commit to annotated tag 0.19 in repository libtest-bdd-cucumber-perl.
commit c87e6fcfcbd5847803f046943487caf719921a59 Author: glauschwuffel <glauschwuf...@nomaden.org> Date: Mon May 26 21:17:59 2014 +0200 Step files may now be localized: step definition functions are aliased --- lib/Test/BDD/Cucumber/StepFile.pm | 42 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/lib/Test/BDD/Cucumber/StepFile.pm b/lib/Test/BDD/Cucumber/StepFile.pm index 5cdb46b..2912cb3 100755 --- a/lib/Test/BDD/Cucumber/StepFile.pm +++ b/lib/Test/BDD/Cucumber/StepFile.pm @@ -10,9 +10,10 @@ use strict; use warnings; use Carp qw/croak/; +use Test::BDD::Cucumber::I18n qw(languages langdef); require Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(Given When Then Step Transform Before After C S); +our @EXPORT = qw(Givenn When Then Step Transform Before After C S Angenommen); our @definitions; @@ -77,6 +78,45 @@ sub Transform { push( @definitions, [ Transform => @_ ] ) } sub Before { push( @definitions, [ Before => @_ ] ) } sub After { push( @definitions, [ After => @_ ] ) } +my @SUBS; + +for my $language (languages()) { + # skip English since these are the function we alias + next if $language eq 'en'; + + my $langdef=langdef($language); + + _alias_function( $langdef->{given}, \&Given); + _alias_function( $langdef->{when}, \&When); + _alias_function( $langdef->{then}, \&Then); + +# Hm ... in cucumber, all step definining keywords are the same. +# Here, the parser replaces 'and' and 'but' with the last verb. Tricky ... +# _alias_function( $langdef->{and}, \&And); +# _alias_function( $langdef->{but}, \&But); +} + +push @EXPORT, @SUBS; + +sub _alias_function { + my ($keywords, $f)=@_; + + my @keywords=split('\|', $keywords); + for my $word (@keywords) { + next if $word eq '[*]'; + # remove non-word characters + $word =~ s{[^\p{Word}]}{}g; + + no strict 'refs'; + no warnings 'redefine'; + *$word=$f; + use warnings 'redefine'; + + push @SUBS, $word; + use strict 'refs'; + } +} + =head2 C =head2 S -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libtest-bdd-cucumber-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits