[Jifty-commit] r3857 - in Template-Declare: lib/Template/Declare t
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Sun Aug 12 01:05:27 EDT 2007
Author: sartak
Date: Sun Aug 12 01:05:27 2007
New Revision: 3857
Modified:
Template-Declare/ (props changed)
Template-Declare/lib/Template/Declare/Tags.pm
Template-Declare/t/postprocessor.t
Log:
r37320 at gorgoroth: sartak | 2007-08-12 01:05:19 -0400
Avoid postprocessing attributes
Skip postprocess on undefined contents
Modified: Template-Declare/lib/Template/Declare/Tags.pm
==============================================================================
--- Template-Declare/lib/Template/Declare/Tags.pm (original)
+++ Template-Declare/lib/Template/Declare/Tags.pm Sun Aug 12 01:05:27 2007
@@ -487,7 +487,7 @@
my $field = shift;
my $val = shift;
- $buf .= ' ' . $field . q{="} . _postprocess($val) . q{"};
+ $buf .= ' ' . $field . q{="} . _postprocess($val, 1) . q{"};
wantarray ? () : '';
};
@@ -654,6 +654,8 @@
sub _postprocess {
my $val = shift;
+ my $skip_postprocess = shift;
+
no warnings 'uninitialized';
$val =~ s/&/&/g;
$val =~ s/</</g;
@@ -662,7 +664,9 @@
$val =~ s/\)/)/g;
$val =~ s/"/"/g;
$val =~ s/'/'/g;
- $val = Template::Declare->postprocessor->($val);
+ $val = Template::Declare->postprocessor->($val)
+ if defined($val) && !$skip_postprocess;
+
return $val;
}
Modified: Template-Declare/t/postprocessor.t
==============================================================================
--- Template-Declare/t/postprocessor.t (original)
+++ Template-Declare/t/postprocessor.t Sun Aug 12 01:05:27 2007
@@ -14,25 +14,28 @@
h1 { "*content* negative *zero*" };
p { outs "should *also* uppercase" };
p { outs_raw "should *never* uppercase" };
+ p { attr { id => "foo*bar*baz" } "attrs shouldn't be markdowned" };
}
}
};
package main;
use Template::Declare;
-use Test::More tests => 6;
+use Test::More tests => 8;
Template::Declare->init(roots => ['Marked::Down']);
my $simple = Template::Declare->show('simple');
like($simple, qr/\*content\* negative \*zero\*/, "no postprocessing yet");
like($simple, qr/should \*also\* uppercase/, "no postprocessing yet");
like($simple, qr/should \*never\* uppercase/, "no postprocessing yet");
+like($simple, qr/foo\*bar\*baz/, "no postprocessing yet");
Template::Declare->init(roots => ['Marked::Down'], postprocessor => \&postprocessor);
$simple = Template::Declare->show('simple');
like($simple, qr/(?<!\*)CONTENT negative ZERO(?!\*)/, "postprocessor transformed h1 { ... }");
like($simple, qr/should ALSO uppercase/, "postprocessor transformed outs");
like($simple, qr/should \*never\* uppercase/, "postprocessor did NOT transform outs_raw");
+like($simple, qr/foo\*bar\*baz/, "attrs shouldn't be postprocessed");
sub postprocessor
{
More information about the Jifty-commit
mailing list