Changeset 283
- Timestamp:
- 02/13/08 01:52:14 (6 months ago)
- Files:
-
- trunk/src/ingy/WikiText/Changes (modified) (1 diff)
- trunk/src/ingy/WikiText/lib/WikiText.pm (modified) (1 diff)
- trunk/src/ingy/WikiText/lib/WikiText/Parser.pm (modified) (2 diffs)
- trunk/src/ingy/WikiText/t/TestWikiText.pm (modified) (1 diff)
- trunk/src/ingy/WikiText/t/sample_to_html.t (modified) (1 diff)
- trunk/src/ingy/WikiText/t/sample_to_wikibyte.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/ingy/WikiText/Changes
r282 r283 1 1 --- 2 version: 0.10 2 version: 0.06 3 date: Wed Feb 13 01:47:51 PST 2008 4 changes: Turn WikiText.pm into a base class 5 --- 6 version: 0.05 3 7 date: Mon Feb 11 23:44:02 PST 2008 4 8 changes: Maiden voyage trunk/src/ingy/WikiText/lib/WikiText.pm
r282 r283 4 4 5 5 use 5.006.001; 6 our $VERSION = '0.05'; 6 our $VERSION = '0.06'; 7 8 sub new { 9 my $class = shift; 10 my $self = bless {}, $class; 11 $self->{wikitext} = shift; 12 return $self; 13 } 14 15 sub 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 } 7 27 8 28 1; trunk/src/ingy/WikiText/lib/WikiText/Parser.pm
r282 r283 151 151 text => ($_[1] || $1), 152 152 end => ($_[3] || $+[0]), 153 1 => $1, 154 2 => $2, 155 3 => $3, 153 156 }; 154 157 } … … 159 162 begin => (defined $_[2] ? $_[2] : $-[0]), 160 163 end => ($_[3] || $+[0]), 164 1 => $1, 165 2 => $2, 166 3 => $3, 161 167 }; 162 168 } trunk/src/ingy/WikiText/t/TestWikiText.pm
r282 r283 1 1 package t::TestWikiText; 2 2 use Test::Base -Base; 3 4 use WikiText::Sample::Parser;5 use WikiText::HTML::Emitter;6 use WikiText::WikiByte::Emitter;7 3 8 4 package t::TestWikiText::Filter; 9 5 use Test::Base::Filter -base; 10 6 11 sub parse_sample_html { 12 my $parser = WikiText::Sample::Parser->new( 13 receiver => WikiText::HTML::Emitter->new, 7 sub 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, 14 13 ); 15 14 $parser->parse(shift); 16 15 } 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 4 4 spec_file 't/data/sample'; 5 5 6 $t::TestWikiText::parser_module = 'WikiText::Sample::Parser'; 7 $t::TestWikiText::emitter_module = 'WikiText::HTML::Emitter'; 8 6 9 filters { 7 sample => 'parse_ sample_html',10 sample => 'parse_wikitext', 8 11 }; 9 12 trunk/src/ingy/WikiText/t/sample_to_wikibyte.t
r282 r283 4 4 spec_file 't/data/sample'; 5 5 6 $t::TestWikiText::parser_module = 'WikiText::Sample::Parser'; 7 $t::TestWikiText::emitter_module = 'WikiText::WikiByte::Emitter'; 8 6 9 filters { 7 sample => 'parse_ sample_wikibyte',10 sample => 'parse_wikitext', 8 11 }; 9 12
