From 7f2bc2458c5d33056b1c95fa653977ed241452fe Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Tue, 27 Jan 2009 20:33:55 +0000 Subject: [PATCH] Handle the case where someone is doing double quoted variable interpolation in the label part of an i18n fetch. --- t/lib/Perl/Critic/Policy/WebGUI/NoIllegalI18NLabels.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/t/lib/Perl/Critic/Policy/WebGUI/NoIllegalI18NLabels.pm b/t/lib/Perl/Critic/Policy/WebGUI/NoIllegalI18NLabels.pm index 1d3327836..2b0699585 100644 --- a/t/lib/Perl/Critic/Policy/WebGUI/NoIllegalI18NLabels.pm +++ b/t/lib/Perl/Critic/Policy/WebGUI/NoIllegalI18NLabels.pm @@ -98,8 +98,6 @@ sub violates { if ($arguments[1]) { my $secondArgument = $arguments[1]->[0]; return unless $secondArgument->isa('PPI::Token::Quote'); - use Data::Dumper; - print Dumper($arguments[1]); $namespace = $arguments[1]->[0]->string; } else { @@ -118,7 +116,11 @@ sub violates { ##constructing arguments for the get call. return if exists $arguments[0]->[1] and $arguments[0]->[1]->isa('PPI::Token::Operator'); return unless $arguments[0]->[0]->isa('PPI::Token::Quote'); - my $label = $arguments[0]->[0]->string; + my $firstArgument = $arguments[0]->[0]; + my $label = $firstArgument->string; + ##Can't do variable interpolation + return if $firstArgument->isa('PPI::Token::Quote::Double') + && $label =~ /\$/; my $namespace = $self->{_i18n_objects}->{$symbol_name}; if ($arguments[1]) { $namespace = $arguments[1]->[0]->string;