[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/</&lt;/g;
@@ -662,7 +664,9 @@
     $val =~ s/\)/&#41;/g;
     $val =~ s/"/&#34;/g;
     $val =~ s/'/&#39;/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