[Jifty-commit] r3068 - in Template-Declare: lib/Template/Declare t
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Tue Mar 27 17:47:22 EDT 2007
Author: jesse
Date: Tue Mar 27 17:47:21 2007
New Revision: 3068
Modified:
Template-Declare/ (props changed)
Template-Declare/META.yml
Template-Declare/lib/Template/Declare/Tags.pm
Template-Declare/t/xss.t
Log:
r54252 at pinglin: jesse | 2007-03-27 14:41:20 -0700
* Refactoring outs to make tags into closures
Modified: Template-Declare/META.yml
==============================================================================
--- Template-Declare/META.yml (original)
+++ Template-Declare/META.yml Tue Mar 27 17:47:21 2007
@@ -5,7 +5,7 @@
Test::More: 0
Test::Warn: 0
distribution_type: module
-generated_by: Module::Install version 0.61
+generated_by: Module::Install version 0.64
license: perl
name: Template-Declare
no_index:
Modified: Template-Declare/lib/Template/Declare/Tags.pm
==============================================================================
--- Template-Declare/lib/Template/Declare/Tags.pm (original)
+++ Template-Declare/lib/Template/Declare/Tags.pm Tue Mar 27 17:47:21 2007
@@ -108,8 +108,27 @@
=cut
-sub outs {
- outs_raw( map { _escape_utf8($_); } grep {defined} @_ );
+sub outs { _outs(0, @_); }
+
+sub _outs {
+ my $raw = shift;
+ my @phrases = (@_);
+ my $buf;
+ Template::Declare->new_buffer_frame;
+
+ foreach my $item ( grep {defined} @phrases ) {
+ Template::Declare->buffer->append( ref($item) eq 'CODE' ? $item->() : ($raw ? $item: _escape_utf8($item)) );
+ }
+
+ $buf = Template::Declare->buffer->data;
+ Template::Declare->end_buffer_frame;
+ if (defined wantarray and not wantarray) {
+ return $buf;
+ } else {
+ Template::Declare->buffer->append($buf);
+
+ }
+ return '';
}
=head2 outs_raw STUFF
@@ -119,8 +138,7 @@
=cut
sub outs_raw {
- Template::Declare->buffer->append( join( '', grep {defined} @_ ));
- return '';
+ _outs( 1, @_);
}
@@ -323,7 +341,9 @@
local $DEPTH = $DEPTH + 1;
%ATTRIBUTES = ();
Template::Declare->new_buffer_frame;
- my $last = join '', map { ref($_) ? $_ : _escape_utf8($_) } $code->();
+ my $last = join '', map {
+ ref($_) eq 'CODE' ? $_->() : ( ref($_) ? $_ : _escape_utf8($_) )
+ } $code->();
if ( length(Template::Declare->buffer->data) ) {
Modified: Template-Declare/t/xss.t
==============================================================================
--- Template-Declare/t/xss.t (original)
+++ Template-Declare/t/xss.t Tue Mar 27 17:47:21 2007
@@ -29,7 +29,7 @@
{
Template::Declare->buffer->clear;
my $simple =(show($_));
-ok($simple =~ 'This is my <b>content');
+ok($simple =~ 'This is my <b>content', $simple);
ok_lint($simple);
}
}
More information about the Jifty-commit
mailing list