Changeset 283

Show
Ignore:
Timestamp:
02/13/08 01:52:14 (6 months ago)
Author:
ingy
Message:
0.06
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/ingy/WikiText/Changes

    r282 r283  
    11--- 
    2 version: 0.10 
     2version: 0.06 
     3date:    Wed Feb 13 01:47:51 PST 2008 
     4changes: Turn WikiText.pm into a base class 
     5--- 
     6version: 0.05 
    37date:    Mon Feb 11 23:44:02 PST 2008 
    48changes: Maiden voyage 
  • trunk/src/ingy/WikiText/lib/WikiText.pm

    r282 r283  
    44 
    55use 5.006.001; 
    6 our $VERSION = '0.05'; 
     6our $VERSION = '0.06'; 
     7 
     8sub new { 
     9    my $class = shift; 
     10    my $self = bless {}, $class; 
     11    $self->{wikitext} = shift; 
     12    return $self; 
     13
     14 
     15sub to_html { 
     16    my $self = shift; 
     17    my $parser_class = ref($self) . '::Parser'; 
     18    eval "require $parser_class; 1" 
     19      or die "Can't load $parser_class:\n$@"; 
     20    require WikiText::HTML::Emitter; 
     21    my $parser = $parser_class->new( 
     22        receiver => WikiText::HTML::Emitter->new, 
     23    ); 
     24 
     25    return $parser->parse($self->{wikitext}); 
     26
    727 
    8281; 
  • trunk/src/ingy/WikiText/lib/WikiText/Parser.pm

    r282 r283  
    151151        text => ($_[1] || $1), 
    152152        end => ($_[3] || $+[0]), 
     153        1 => $1, 
     154        2 => $2, 
     155        3 => $3, 
    153156    }; 
    154157} 
     
    159162        begin => (defined $_[2] ? $_[2] : $-[0]), 
    160163        end => ($_[3] || $+[0]), 
     164        1 => $1, 
     165        2 => $2, 
     166        3 => $3, 
    161167    }; 
    162168} 
  • trunk/src/ingy/WikiText/t/TestWikiText.pm

    r282 r283  
    11package t::TestWikiText; 
    22use Test::Base -Base; 
    3  
    4 use WikiText::Sample::Parser; 
    5 use WikiText::HTML::Emitter; 
    6 use WikiText::WikiByte::Emitter; 
    73 
    84package t::TestWikiText::Filter; 
    95use Test::Base::Filter -base; 
    106 
    11 sub parse_sample_html { 
    12     my $parser = WikiText::Sample::Parser->new( 
    13         receiver => WikiText::HTML::Emitter->new, 
     7sub parse_wikitext { 
     8    eval "require $t::TestWikiText::parser_module; 1" or die; 
     9    eval "require $t::TestWikiText::emitter_module; 1" or die; 
     10 
     11    my $parser = $t::TestWikiText::parser_module->new( 
     12        receiver => $t::TestWikiText::emitter_module->new, 
    1413    ); 
    1514    $parser->parse(shift); 
    1615} 
    17  
    18 sub parse_sample_wikibyte { 
    19     my $parser = WikiText::Sample::Parser->new( 
    20         receiver => WikiText::WikiByte::Emitter->new, 
    21     ); 
    22     $parser->parse(shift); 
    23 } 
    24  
  • trunk/src/ingy/WikiText/t/sample_to_html.t

    r282 r283  
    44spec_file 't/data/sample'; 
    55 
     6$t::TestWikiText::parser_module = 'WikiText::Sample::Parser'; 
     7$t::TestWikiText::emitter_module = 'WikiText::HTML::Emitter'; 
     8 
    69filters { 
    7     sample => 'parse_sample_html', 
     10    sample => 'parse_wikitext', 
    811}; 
    912 
  • trunk/src/ingy/WikiText/t/sample_to_wikibyte.t

    r282 r283  
    44spec_file 't/data/sample'; 
    55 
     6$t::TestWikiText::parser_module = 'WikiText::Sample::Parser'; 
     7$t::TestWikiText::emitter_module = 'WikiText::WikiByte::Emitter'; 
     8 
    69filters { 
    7     sample => 'parse_sample_wikibyte', 
     10    sample => 'parse_wikitext', 
    811}; 
    912