Changeset 328

Show
Ignore:
Timestamp:
10/28/06 11:01:53 (2 years ago)
Author:
miya
Message:

copy //mirror/perl to //local/perl

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • library/perl/trunk/Text-Trac/MANIFEST

    • Property svn:executable set to *
    r324 r328  
    2929lib/Text/Trac/Ul.pm 
    3030lib/Text/Trac/Underline.pm 
     31lib/Text/Trac/Macro.pm 
     32lib/Text/Trac/Macro/Timestamp.pm 
     33lib/Text/Trac/Macro/HelloWorld.pm 
    3134t/00-load.t 
    3235t/01-text-trac.t 
  • library/perl/trunk/Text-Trac/lib/Text/Trac.pm

    • Property svn:executable set to *
    r321 r328  
    3232        permalink         => $self->{permalink}, 
    3333        min_heading_level => $self->{min_heading_level}, 
     34        trac_url          => $self->{trac_url}, 
    3435    }); 
    3536 
  • library/perl/trunk/Text-Trac/lib/Text/Trac/BlockNode.pm

    • Property svn:executable set to *
    r324 r328  
    8080    push @matched_parsers, Text::Trac::P->new({ context => $self->context }) 
    8181        if( !@matched_parsers and $type =~ /^block/ ); 
    82  
    8382    return \@matched_parsers; 
    8483} 
  • library/perl/trunk/Text-Trac/lib/Text/Trac/Context.pm

    r323 r328  
    33use base qw (Class::Accessor::Fast); 
    44 
    5 __PACKAGE__->mk_accessors( qw( ul ol min_heading_level permalink in_block_of ) ); 
     5__PACKAGE__->mk_accessors( qw( ul ol min_heading_level permalink in_block_of trac_url ) ); 
    66 
    77my %Defaults = ( 
  • library/perl/trunk/Text-Trac/lib/Text/Trac/Macro.pm

    r325 r328  
    33use base qw(Text::Trac::InlineNode); 
    44use UNIVERSAL::require; 
     5use Text::ParseWords qw(quotewords); 
    56 
    67sub init { 
    78    my $self = shift; 
    8     $self->pattern(qr/\[\[(\w+)\(?([^)]*)\)?\]\]/); 
     9    $self->pattern(qr/\[\[(\w+) (?:\((.+?)\))? \]\]/x); 
    910    return $self; 
    1011} 
     
    1617    $l =~ $pattern or return $l; 
    1718 
    18     my @args = split ',', $2 if $2; 
    19     for ( @args ) { 
    20         $_ =~ s/^\s+//; 
    21         $_ =~ s/\s+$//; 
     19    my $macro = $1; 
     20    my @args  = quotewords( ',\s*', 0, $2 ) if $2; 
     21    map { s/^\s+|\s+$//g } @args; 
     22 
     23    foreach my $class ("Text::Trac::Macro::$macro", $macro) { 
     24        if ( $class->require ) { 
     25            my $result = $class->process( $c, \@args ) || ''; 
     26            $l =~ s{$pattern}{$result}xmsg; 
     27            last; 
     28        } 
    2229    } 
    23  
    24     my $class = "Text::Trac::Macro::$1"; 
    25     $class->require; 
    26     my $result = $class->exec(@args) || ''; 
    27  
    28     $l =~ s{$pattern}{$result}xmsg; 
    2930 
    3031    return $l; 
  • library/perl/trunk/Text-Trac/lib/Text/Trac/Macro/HelloWorld.pm

    r325 r328  
    44use warnings; 
    55 
    6 sub exec
    7     my ( $class, @args ) = @_; 
    8     return "Hello World, args = " . join ', ', @args; 
     6sub process
     7    my ( $class, $c, $args ) = @_; 
     8    return "Hello World, args = " . join ', ', @$args; 
    99} 
    1010 
  • library/perl/trunk/Text-Trac/lib/Text/Trac/Macro/Timestamp.pm

    r325 r328  
    44use warnings; 
    55 
    6 sub exec
     6sub process
    77    my $class = shift; 
    88    return '<b>' . localtime(time) . '</b>'; 
  • library/perl/trunk/Text-Trac/t/01-text-trac.t

    r324 r328  
    1 #!perl -T 
    2  
    31use strict; 
    4 use Test::Base; 
    5 use Text::Trac; 
    6  
    7 delimiters('###'); 
    8  
    9 plan tests => 1 * blocks; 
    10  
    11 my $p = Text::Trac->new(); 
    12  
    13 sub parse { 
    14     local $_ = shift; 
    15     $p->parse($_); 
    16     $p->html; 
    17 
    18  
    19 filters { input => 'parse', expected => 'chomp' }; 
    20 run_is 'input' => 'expected'; 
    21  
    22 __DATA__ 
     2use t::TestTextTrac; 
     3 
     4run_tests; 
     5 
     6__END__ 
    237### h1 test 
    248--- input 
     
    339323</dl> 
    340324 
    341 ### macro HelloWorld test 
    342 --- input 
    343 [[HelloWorld(arg1, arg2)]] 
    344 --- expected 
    345 <p> 
    346 Hello World, args = arg1, arg2 
    347 </p>