Show
Ignore:
Timestamp:
12/19/08 11:04:19 (6 years ago)
Author:
tokuhirom
Message:

raw expression was outdated. we have automatic escape & encoded_string() today.

Location:
lang/perl/Text-MicroTemplate/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Text-MicroTemplate/trunk/lib/Text/MicroTemplate.pm

    r27003 r27051  
    2525        comment_mark        => '#', 
    2626        expression_mark     => '=', 
    27         raw_expression_mark => '=r', 
    2827        line_start          => '?', 
    2928        template            => undef, 
     
    122121                $lines[-1] .= "\$_MT_T = scalar $value; \$_MT .= ref \$_MT_T eq 'Text::MicroTemplate::EncodedString' ? \$\$_MT_T : $escape_func(\$_MT_T);"; 
    123122            } 
    124  
    125             # Raw Expression 
    126             if ($type eq 'raw_expr') { 
    127                  
    128                 $lines[-1] .= "\$_MT_T = $value; \$_MT .= ref \$_MT_T eq q(Text::MicroTemplate::EncodedString) ? \$\$_MT_T : \$_MT_T;"; 
    129             } 
    130123        } 
    131124    } 
     
    160153    my $cmnt_mark     = quotemeta $self->{comment_mark}; 
    161154    my $expr_mark     = quotemeta $self->{expression_mark}; 
    162     my $raw_expr_mark = quotemeta $self->{raw_expression_mark}; 
    163155 
    164156    # Tokenize 
     
    191183        } 
    192184 
    193         # Perl line with raw return value 
    194         if ($line =~ /^$line_start$raw_expr_mark\s+(.+)$/) { 
    195             push @{$self->{tree}}, [ 
    196                 'raw_expr', $1, 
    197                 $newline ? ('text', "\n") : (), 
    198             ]; 
    199             $multiline_expression = 0; 
    200             next; 
    201         } 
    202  
    203185        # Comment line, dummy token needed for line count 
    204186        if ($line =~ /^$line_start$cmnt_mark\s+$/) { 
     
    231213        for my $token (split / 
    232214            ( 
    233                 $tag_start$raw_expr_mark # Raw Expression 
    234             | 
    235215                $tag_start$expr_mark     # Expression 
    236216            | 
     
    258238            elsif ($token =~ /^$tag_start$cmnt_mark$/) { $state = 'cmnt' } 
    259239 
    260             # Raw Expression 
    261             elsif ($token =~ /^$tag_start$raw_expr_mark$/) { 
    262                 $state = 'raw_expr'; 
    263             } 
    264  
    265240            # Expression 
    266241            elsif ($token =~ /^$tag_start$expr_mark$/) { 
     
    278253                $state = 'code' if $multiline_expression; 
    279254                $multiline_expression = 1 
    280                     if $state eq 'expr' || $state eq 'raw_expr'; 
     255                    if $state eq 'expr'; 
    281256 
    282257                # Store value 
     
    487462    ?= $expr                 (per-line) 
    488463 
    489     # output the result expression without escape (tag style) 
    490     <?=r $raw_str ?> 
    491     ?=r $raw_str 
    492  
    493464    # execute perl code (tag style) 
    494465    <? foo() ?> 
  • lang/perl/Text-MicroTemplate/trunk/t/03-modes.t

    r26831 r27051  
    11use strict; 
    22use warnings; 
    3 use Test::More tests => 8; 
     3use Test::More tests => 6; 
    44use Text::MicroTemplate qw(:all); 
    55 
     
    1616do { 
    1717    is render_mt('<?= $_[0] ?>', 'foo<a')->as_string, 'foo&lt;a'; 
    18     is render_mt('<?=r $_[0] ?>', 'foo<a')->as_string, 'foo<a'; 
    1918    my $rs = encoded_string('foo<a'); 
    2019    is render_mt('<?= $_[0] ?>', $rs)->as_string, 'foo<a'; 
    21     is render_mt('<?=r $_[0] ?>', $rs)->as_string, 'foo<a'; 
    2220}; 
    2321do { 
  • lang/perl/Text-MicroTemplate/trunk/t/04-multiline.t

    r26831 r27051  
    11use strict; 
    22use warnings; 
    3 use Test::More tests => 7; 
     3use Test::More tests => 4; 
    44use Text::MicroTemplate qw(:all); 
    55 
     
    1414}; 
    1515 
    16 # raw expr (expected behaviour from code) 
    17 do { 
    18     my $y; 
    19     is render_mt(<<'...', sub { $y = 1 })->as_string, "abc 1 def\n", 'multiline rawexpr'; 
    20 abc <?=r 1 
    21  $_[0]->() ?> def 
    22 ... 
    23     ok $y; 
    24 }; 
    25  
    2616# automatic semicolon insertion 
    2717is render_mt(<<'...')->as_string, "abc\n1\n-1\ndef\n", 'expr auto-sci'; 
     
    2919?= 1 
    3020?= -1 
    31 def 
    32 ... 
    33 is render_mt(<<'...')->as_string, "abc\n1\n-1\ndef\n", 'expr auto-sci'; 
    34 abc 
    35 ?=r 1 
    36 ?=r -1 
    3721def 
    3822...