r22356 - in /branches/upstream/libhtml-wikiconverter-pmwiki-perl: ./ current/ current/lib/ current/lib/HTML/ current/lib/HTML/WikiConverter/ current/t/
js at users.alioth.debian.org
js at users.alioth.debian.org
Sat Jun 28 22:22:59 UTC 2008
Author: js
Date: Sat Jun 28 22:22:59 2008
New Revision: 22356
URL: http://svn.debian.org/wsvn/?sc=1&rev=22356
Log:
[svn-inject] Installing original source of libhtml-wikiconverter-pmwiki-perl
Added:
branches/upstream/libhtml-wikiconverter-pmwiki-perl/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Changes
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/MANIFEST
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/META.yml
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Makefile.PL
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/README
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/PmWiki.pm
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/00-load.t
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/boilerplate.t
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pmwiki.t
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod-coverage.t
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod.t
branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/runtests.pl
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Changes?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Changes (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Changes Sat Jun 28 22:22:59 2008
@@ -1,0 +1,13 @@
+# Change log for HTML::WikiConverter::PmWiki
+
+version: 0.51
+date: Thu Jul 20 2006
+changes:
+ - (bug 18562) Line breaks converted to "[[<<]]" within tables (thanks pcascon)
+ - (bug 18287) Fixed <br> tag problem in connection with new line in HTML
+ - require HTML::WikiConverter 0.60
+
+version: 0.50
+date: Tue Jan 10 2006
+changes:
+ - Branched from main HTML::WikiConverter codebase.
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/MANIFEST?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/MANIFEST (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/MANIFEST Sat Jun 28 22:22:59 2008
@@ -1,0 +1,12 @@
+Changes
+MANIFEST
+META.yml # Will be created by "make dist"
+Makefile.PL
+README
+lib/HTML/WikiConverter/PmWiki.pm
+t/00-load.t
+t/boilerplate.t
+t/pmwiki.t
+t/pod-coverage.t
+t/pod.t
+t/runtests.pl
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/META.yml?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/META.yml (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/META.yml Sat Jun 28 22:22:59 2008
@@ -1,0 +1,12 @@
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
+name: HTML-WikiConverter-PmWiki
+version: 0.51
+version_from: lib/HTML/WikiConverter/PmWiki.pm
+installdirs: site
+requires:
+ HTML::WikiConverter: 0.6
+ Test::More: 0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.17
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Makefile.PL?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Makefile.PL (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/Makefile.PL Sat Jun 28 22:22:59 2008
@@ -1,0 +1,17 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+ NAME => 'HTML::WikiConverter::PmWiki',
+ AUTHOR => 'David J. Iberri <diberri at cpan.org>',
+ VERSION_FROM => 'lib/HTML/WikiConverter/PmWiki.pm',
+ ABSTRACT_FROM => 'lib/HTML/WikiConverter/PmWiki.pm',
+ PL_FILES => {},
+ PREREQ_PM => {
+ 'Test::More' => 0,
+ 'HTML::WikiConverter' => 0.60,
+ },
+ dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+ clean => { FILES => 'HTML-WikiConverter-PmWiki-*' },
+);
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/README
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/README?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/README (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/README Sat Jun 28 22:22:59 2008
@@ -1,0 +1,64 @@
+HTML::WikiConverter::PmWiki
+===========================
+
+HTML::WikiConverter::PmWiki adds the PmWiki dialect to
+HTML::WikiConverter allowing the conversion of HTML to PmWiki markup.
+
+SYNOPSIS
+
+Converting HTML to wiki markup is easy:
+
+ use HTML::WikiConverter;
+ my $wc = new HTML::WikiConverter( dialect => 'PmWiki' );
+ print $wc->html2wiki( $html );
+
+Or from the command line:
+
+ % html2wiki --dialect PmWiki input.html > output.wiki
+
+There's also a web interface if you're so inclined:
+
+ http://diberri.dyndns.org/html2wiki.html
+
+CHANGES IN 0.51
+
+ * (bug 18562) Line breaks converted to "[[<<]]" within tables (thanks pcascon)
+ * (bug 18287) Fixed <br> tag problem in connection with new line in HTML
+ * Require HTML::WikiConverter 0.60
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+SUPPORT AND DOCUMENTATION
+
+After installing, you can find documentation for this module with the
+perldoc command.
+
+ perldoc HTML::WikiConverter::PmWiki
+
+You can also look for information at:
+
+ Search CPAN
+ http://search.cpan.org/dist/HTML-WikiConverter-PmWiki
+
+ CPAN Request Tracker:
+ http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-WikiConverter-PmWiki
+
+ AnnoCPAN, annotated CPAN documentation:
+ http://annocpan.org/dist/HTML-WikiConverter-PmWiki
+
+ CPAN Ratings:
+ http://cpanratings.perl.org/d/HTML-WikiConverter-PmWiki
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2006 David J. Iberri
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/PmWiki.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/PmWiki.pm?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/PmWiki.pm (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/lib/HTML/WikiConverter/PmWiki.pm Sat Jun 28 22:22:59 2008
@@ -1,0 +1,229 @@
+package HTML::WikiConverter::PmWiki;
+
+use warnings;
+use strict;
+
+use base 'HTML::WikiConverter';
+
+our $VERSION = '0.51';
+
+=head1 NAME
+
+HTML::WikiConverter::PmWiki - Convert HTML to PmWiki markup
+
+=head1 SYNOPSIS
+
+ use HTML::WikiConverter;
+ my $wc = new HTML::WikiConverter( dialect => 'PmWiki' );
+ print $wc->html2wiki( $html );
+
+=head1 DESCRIPTION
+
+This module contains rules for converting HTML into PmWiki markup. See
+L<HTML::WikiConverter> for additional usage details.
+
+=cut
+
+sub rules {
+ my %rules = (
+ hr => { replace => "\n----\n" },
+ br => { replace => \&_br },
+
+ h1 => { start => '! ', block => 1, trim => 'both', line_format => 'single' },
+ h2 => { start => '!! ', block => 1, trim => 'both', line_format => 'single' },
+ h3 => { start => '!!! ', block => 1, trim => 'both', line_format => 'single' },
+ h4 => { start => '!!!! ', block => 1, trim => 'both', line_format => 'single' },
+ h5 => { start => '!!!!! ', block => 1, trim => 'both', line_format => 'single' },
+ h6 => { start => '!!!!!! ', block => 1, trim => 'both', line_format => 'single' },
+
+ blockquote => { start => \&_blockquote_start, trim => 'both', block => 1, line_format => 'multi' },
+ pre => { line_prefix => ' ', block => 1 },
+ p => { block => 1, trim => 'both', line_format => 'multi' },
+
+ b => { start => "'''", end => "'''", line_format => 'single' },
+ strong => { alias => 'b' },
+ i => { start => "''", end => "''", line_format => 'single' },
+ em => { alias => 'i' },
+ tt => { start => '@@', end => '@@', trim => 'both', line_format => 'single' },
+ code => { alias => 'tt' },
+
+ big => { start => "'+", end => "+'", line_format => 'single' },
+ small => { start => "'-", end => "-'", line_format => 'single' },
+ sup => { start => "'^", end => "^'", line_format => 'single' },
+ sub => { start => "'_", end => "_'", line_format => 'single' },
+ ins => { start => '{+', end => '+}', line_format => 'single' },
+ del => { start => '{-', end => '-}', line_format => 'single' },
+
+ ul => { line_format => 'multi', block => 1 },
+ ol => { alias => 'ul' },
+ li => { start => \&_li_start, trim => 'leading' },
+
+ dl => { alias => 'ul' },
+ dt => { start => \&_li_start, line_format => 'single', trim => 'both' },
+ dd => { start => ': ' },
+
+ a => { replace => \&_link },
+ img => { replace => \&_image },
+
+ table => { start => \&_table_start, block => 1 },
+ tr => { start => "\n||", line_format => 'single' },
+ td => { start => \&_td_start, end => \&_td_end, trim => 'both' },
+ th => { alias => 'td' }
+ );
+
+ return \%rules;
+}
+
+sub _br {
+ my( $self, $node, $rules ) = @_;
+ return " [[<<]] " if $node->look_up( _tag => 'table' );
+ return " \\\\\n";
+}
+
+sub _table_start {
+ my( $self, $node, $rules ) = @_;
+ my @attrs = qw/ border cellpadding cellspacing width bgcolor align /;
+ return '|| '.$self->get_attr_str( $node, @attrs );
+}
+
+sub _td_start {
+ my( $self, $node, $rules ) = @_;
+ my $prefix = $node->tag eq 'th' ? '!' : '';
+
+ my $align = $node->attr('align') || 'left';
+ $prefix .= ' ' if $align eq 'center' or $align eq 'right';
+
+ return $prefix;
+}
+
+sub _td_end {
+ my( $self, $node, $rules ) = @_;
+ my $colspan = $node->attr('colspan') || 1;
+ my $suffix = ( '||' ) x $colspan;
+
+ my $align = $node->attr('align') || 'left';
+ $suffix = ' '.$suffix if $align eq 'center' or $align eq 'left';
+
+ return $suffix;
+}
+
+sub _blockquote_start {
+ my( $self, $node, $rules ) = @_;
+ my @parent_bqs = $node->look_up( _tag => 'blockquote' );
+ my $depth = @parent_bqs;
+
+ my $start = ( '-' ) x $depth;
+ return "\n".$start.'>';
+}
+
+sub _li_start {
+ my( $self, $node, $rules ) = @_;
+ my @parent_lists = $node->look_up( _tag => qr/ul|ol|dl/ );
+ my $depth = @parent_lists;
+
+ my $bullet = '';
+ $bullet = '*' if $node->parent->tag eq 'ul';
+ $bullet = '#' if $node->parent->tag eq 'ol';
+ $bullet = ':' if $node->parent->tag eq 'dl';
+
+ my $prefix = ( $bullet ) x $depth;
+ return "\n".$prefix.' ';
+}
+
+sub _link {
+ my( $self, $node, $rules ) = @_;
+ return $self->_anchor($node, $rules) if $node->attr('name');
+
+ my $url = $node->attr('href') || '';
+ my $text = $self->get_elem_contents($node) || '';
+
+ return $url if $text eq $url;
+ return "[[$url | $text]]";
+}
+
+sub _anchor {
+ my( $self, $node, $rules ) = @_;
+ my $name = $node->attr('name') || '';
+ return "[[#$name]]";
+}
+
+sub _image {
+ my( $self, $node, $rules ) = @_;
+ return $node->attr('src') || '';
+}
+
+sub preprocess_node {
+ my( $self, $node ) = @_;
+ my $tag = $node->tag || '';
+ $self->_move_aname($node) if $tag eq 'a' and $node->attr('name');
+ $self->caption2para($node) if $tag eq 'caption';
+ if( $tag eq '~text' and $node->left and $node->left->tag and $node->left->tag eq 'br' and !$node->look_up(_tag => 'pre') ) {
+ ( my $text = $node->attr('text') ) =~ s/^\s+//;
+ $node->attr( text => $text );
+ }
+}
+
+sub _move_aname {
+ my( $self, $node ) = @_;
+
+ my $name = $node->attr('name') || '';
+ $node->attr( name => undef );
+
+ my $aname = new HTML::Element( 'a', name => $name );
+ $node->preinsert($aname);
+
+ # Keep 'a href's around
+ $node->replace_with_content->delete unless $node->attr('href');
+}
+
+=head1 AUTHOR
+
+David J. Iberri, C<< <diberri at cpan.org> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests to
+C<bug-html-wikiconverter-pmwiki at rt.cpan.org>, or through the web
+interface at
+L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-WikiConverter-PmWiki>.
+I will be notified, and then you'll automatically be notified of
+progress on your bug as I make changes.
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc HTML::WikiConverter::PmWiki
+
+You can also look for information at:
+
+=over 4
+
+=item * AnnoCPAN: Annotated CPAN documentation
+
+L<http://annocpan.org/dist/HTML-WikiConverter-PmWiki>
+
+=item * CPAN Ratings
+
+L<http://cpanratings.perl.org/d/HTML-WikiConverter-PmWiki>
+
+=item * RT: CPAN's request tracker
+
+L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-WikiConverter-PmWiki>
+
+=item * Search CPAN
+
+L<http://search.cpan.org/dist/HTML-WikiConverter-PmWiki>
+
+=back
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2006 David J. Iberri, all rights reserved.
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/00-load.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/00-load.t?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/00-load.t (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/00-load.t Sat Jun 28 22:22:59 2008
@@ -1,0 +1,9 @@
+#!perl -T
+
+use Test::More tests => 1;
+
+BEGIN {
+ use_ok( 'HTML::WikiConverter::PmWiki' );
+}
+
+diag( "Testing HTML::WikiConverter::PmWiki $HTML::WikiConverter::PmWiki::VERSION, Perl $], $^X" );
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/boilerplate.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/boilerplate.t?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/boilerplate.t (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/boilerplate.t Sat Jun 28 22:22:59 2008
@@ -1,0 +1,48 @@
+#!perl -T
+
+use strict;
+use warnings;
+use Test::More tests => 3;
+
+sub not_in_file_ok {
+ my ($filename, %regex) = @_;
+ open my $fh, "<", $filename
+ or die "couldn't open $filename for reading: $!";
+
+ my %violated;
+
+ while (my $line = <$fh>) {
+ while (my ($desc, $regex) = each %regex) {
+ if ($line =~ $regex) {
+ push @{$violated{$desc}||=[]}, $.;
+ }
+ }
+ }
+
+ if (%violated) {
+ fail("$filename contains boilerplate text");
+ diag "$_ appears on lines @{$violated{$_}}" for keys %violated;
+ } else {
+ pass("$filename contains no boilerplate text");
+ }
+}
+
+not_in_file_ok(README =>
+ "The README is used..." => qr/The README is used/,
+ "'version information here'" => qr/to provide version information/,
+);
+
+not_in_file_ok(Changes =>
+ "placeholder date/time" => qr(Date/time)
+);
+
+sub module_boilerplate_ok {
+ my ($module) = @_;
+ not_in_file_ok($module =>
+ 'the great new $MODULENAME' => qr/ - The great new /,
+ 'boilerplate description' => qr/Quick summary of what the module/,
+ 'stub function definition' => qr/function[12]/,
+ );
+}
+
+module_boilerplate_ok('lib/HTML/WikiConverter/PmWiki.pm');
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pmwiki.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pmwiki.t?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pmwiki.t (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pmwiki.t Sat Jun 28 22:22:59 2008
@@ -1,0 +1,307 @@
+local $/;
+require 't/runtests.pl';
+runtests( data => <DATA>, dialect => 'PmWiki' );
+close DATA;
+
+__DATA__
+aname
+__H__
+<h2><a name="introduction">Introduction</a></h2>
+__W__
+!! [[#introduction]]Introduction
+__NEXT__
+aname w/ content
+__H__
+<h2><a name="intro">Introduction <b>stuff</b></a></h2>
+__W__
+!! [[#intro]]Introduction '''stuff'''
+__NEXT__
+aname w/ href
+__H__
+<h2><a name="intro" href="http://www.google.com">Google</a></h2>
+__W__
+!! [[#intro]][[http://www.google.com | Google]]
+__NEXT__
+ext. link
+__H__
+<a href="http://www.google.com">http://www.google.com</a>
+__W__
+http://www.google.com
+__NEXT__
+ext. link w/ alt text
+__H__
+<a href="http://www.google.com">Google</a>
+__W__
+[[http://www.google.com | Google]]
+__NEXT__
+bold
+__H__
+<html><b>bold</b></html>
+__W__
+'''bold'''
+__NEXT__
+italics
+__H__
+<html><i>italics</i></html>
+__W__
+''italics''
+__NEXT__
+bold and italics
+__H__
+<html><b>bold</b> and <i>italics</i></html>
+__W__
+'''bold''' and ''italics''
+__NEXT__
+bold-italics nested
+__H__
+<html><b><i>bold-italics</i> nested</b></html>
+__W__
+'''''bold-italics'' nested'''
+__NEXT__
+strong
+__H__
+<html><strong>strong</strong></html>
+__W__
+'''strong'''
+__NEXT__
+emphasized
+__H__
+<html><em>emphasized</em></html>
+__W__
+''emphasized''
+__NEXT__
+deleted
+__H__
+<html><del>deleted text</del></html>
+__W__
+{-deleted text-}
+__NEXT__
+inserted
+__H__
+<html><ins>inserted text</ins></html>
+__W__
+{+inserted text+}
+__NEXT__
+one-line phrasals
+__H__
+<html><i>phrasals
+in one line</i></html>
+__W__
+''phrasals in one line''
+__NEXT__
+paragraph blocking
+__H__
+<html><p>p1</p><p>p2</p></html>
+__W__
+p1
+
+p2
+__NEXT__
+lists
+__H__
+<html><ul><li>1</li><li>2</li></ul></html>
+__W__
+* 1
+* 2
+__NEXT__
+nested lists
+__H__
+<html><ul><li>1<ul><li>1a</li><li>1b</li></ul></li><li>2</li></ul>
+__W__
+* 1
+** 1a
+** 1b
+* 2
+__NEXT__
+nested lists (different types)
+__H__
+<html><ul><li>1<ul><li>a<ol><li>i</li></ol></li><li>b</li></ul></li><li>2<dl><dt>foo</dt><dd>bar</dd></dl></li></ul></html>
+__W__
+* 1
+** a
+### i
+** b
+* 2
+:: foo: bar
+__NEXT__
+hr
+__H__
+<html><hr /></html>
+__W__
+----
+__NEXT__
+br
+__H__
+<html><p>stuff<br />stuff two</p></html>
+__W__
+stuff \\
+stuff two
+__NEXT__
+sub
+__H__
+<html><p>H<sub>2</sub>O</p></html>
+__W__
+H'_2_'O
+__NEXT__
+sup
+__H__
+<html><p>x<sup>2</sup></p></html>
+__W__
+x'^2^'
+__NEXT__
+small
+__H__
+<html><small>small text</small></html>
+__W__
+'-small text-'
+__NEXT__
+big
+__H__
+<html><big>big text</big></html>
+__W__
+'+big text+'
+__NEXT__
+code
+__H__
+<html><code>$name = 'stan';</code></html>
+__W__
+@@$name = 'stan';@@
+__NEXT__
+tt
+__H__
+<html><tt>tt text</tt></html>
+__W__
+@@tt text@@
+__NEXT__
+indent
+__H__
+<html><blockquote>indented text</blockquote></html>
+__W__
+->indented text
+__NEXT__
+nested indent
+__H__
+<html><blockquote>stuff
+ <blockquote>double-indented stuff</blockquote>
+</blockquote></html>
+__W__
+->stuff
+-->double-indented stuff
+__NEXT__
+h1
+__H__
+<h1>h1</h1>
+__W__
+! h1
+__NEXT__
+h2
+__H__
+<h2>h2</h2>
+__W__
+!! h2
+__NEXT__
+h3
+__H__
+<h3>h3</h3>
+__W__
+!!! h3
+__NEXT__
+h4
+__H__
+<h4>h4</h4>
+__W__
+!!!! h4
+__NEXT__
+h5
+__H__
+<h5>h5</h5>
+__W__
+!!!!! h5
+__NEXT__
+h6
+__H__
+<h6>h6</h6>
+__W__
+!!!!!! h6
+__NEXT__
+<html>
+__H__
+<table border="1" width="50%" onclick="alert('hello')">
+ <tr><th>First</th><th>Last</th></tr>
+ <tr><td>Barney</td><td>Rubble</td></tr>
+ <tr><td>Foo</td><td>Bar</td></tr>
+</table>
+</html>
+__W__
+|| border="1" width="50%"
+||!First ||!Last ||
+||Barney ||Rubble ||
+||Foo ||Bar ||
+__NEXT__
+table w/ colspan
+__H__
+<table align='center' border='1' width='50%'>
+<tr>
+ <th>Table</th>
+ <th>Heading</th>
+ <th>Example</th>
+</tr>
+<tr>
+ <th align='left'>Left</th>
+ <td align='center'>Center</td>
+ <td align='right'>Right</td>
+</tr>
+<tr>
+ <td align='left'> A </td>
+ <th align='center'> B </th>
+ <td align='right'> C </td>
+</tr>
+<tr>
+ <td> </td>
+ <td align='center'>single</td>
+ <td> </td>
+</tr>
+<tr>
+ <td> </td>
+ <td align='center' colspan='2'>multi span</td>
+</tr>
+</table>
+__W__
+|| border="1" width="50%" align="center"
+||!Table ||!Heading ||!Example ||
+||!Left || Center || Right||
+||A ||! B || C||
+|| || single || ||
+|| || multi span ||||
+__NEXT__
+pre
+__H__
+<html><pre>this
+ is pre-
+ formatted
+ text</pre></html>
+__W__
+ this
+ is pre-
+ formatted
+ text
+__NEXT__
+pre w/ formatting
+__H__
+<html><pre>this
+ is pre-
+ formatted tex<sup>t</sup>
+ with <b>special</b> <del>formatting</del></pre></html>
+__W__
+ this
+ is pre-
+ formatted tex'^t^'
+ with '''special''' {-formatting-}
+__NEXT__
+br on separate lines (bug #18287)
+__H__
+line1<br>
+line2
+__W__
+line1 \\
+line2
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod-coverage.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod-coverage.t?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod-coverage.t (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod-coverage.t Sat Jun 28 22:22:59 2008
@@ -1,0 +1,25 @@
+#!perl -T
+
+use Test::More;
+eval "use Test::Pod::Coverage 1.04";
+plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
+all_pod_coverage_ok( { also_private => [
+ # These methods are documented in HTML::WikiConverter::Dialects
+ qr/
+ get_elem_contents
+ |get_wiki_page
+ |get_attr_str
+ |is_camel_case
+ |rule
+ |rules
+ |attribute
+ |attributes
+ |preprocess_tree
+ |preprocess_node
+ |postprocess_output
+ |caption2para
+ |strip_aname
+ |base_url
+ |wiki_url
+ /x
+] } );
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod.t?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod.t (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/pod.t Sat Jun 28 22:22:59 2008
@@ -1,0 +1,6 @@
+#!perl -T
+
+use Test::More;
+eval "use Test::Pod 1.14";
+plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
+all_pod_files_ok();
Added: branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/runtests.pl
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/runtests.pl?rev=22356&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/runtests.pl (added)
+++ branches/upstream/libhtml-wikiconverter-pmwiki-perl/current/t/runtests.pl Sat Jun 28 22:22:59 2008
@@ -1,0 +1,132 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+
+use Test::More;
+use File::Spec;
+use HTML::Entities;
+use HTML::WikiConverter;
+*e = \&encode_entities;
+
+my $more_tests = <<END_TESTS;
+__NEXT__
+entities (1)
+__H__
+To enter a '<' in your input, use "&lt;"
+__W__
+To enter a '<' in your input, use "&lt;"
+__NEXT__
+entities (2)
+__H__
+To enter a '<' in your input, use "&lt;"
+__W__
+To enter a '<' in your input, use "&lt;"
+__NEXT__
+strip comments
+__H__
+A <!-- stripped --> comment
+__W__
+A comment
+__NEXT__
+strip head
+__H__
+<html>
+<head><title>fun stuff</title></head>
+<body>
+<p>Crazy stuff here</p>
+</body>
+</html>
+__W__
+Crazy stuff here
+__NEXT__
+strip scripts
+__H__
+<html>
+<head><script>bogus stuff</script></head>
+<body>
+<script>maliciousCode()</script>
+<p>benevolent text</p>
+</body>
+</html>
+__W__
+benevolent text
+END_TESTS
+
+sub runtests {
+ my %arg = @_;
+
+ $arg{wrap_in_html} = 1;
+ $arg{base_uri} ||= 'http://www.test.com';
+ my $minimal = $arg{minimal} || 0;
+
+ my $data = $arg{data} || '';
+ $data .= entity_tests() . $more_tests unless $minimal;
+
+ my @tests = split /__NEXT__\n/, $data;
+ my $numtests = @tests;
+ #$numtests += 1 unless $minimal; # file test
+ plan tests => $numtests;
+
+ # Delete unrecognized HTML::WikiConverter options
+ delete $arg{$_} for qw/ data minimal /;
+
+ my $wc = new HTML::WikiConverter(%arg);
+ foreach my $test ( @tests ) {
+ $test =~ s/^(.*?)\n//; my $name = $1;
+ my( $html, $wiki ) = split /__W__\n/, $test;
+ $html =~ s/__H__\n//;
+
+ $name =~ s{\s*\:\:(\w+\([^\)]*?\))}{
+ my $method_call = $1;
+ eval "\$wc->$method_call;";
+ die "Failed test call ($name): $@" if $@;
+ '';
+ }ge;
+
+ for( $html, $wiki ) { s/^\n+//; s/\n+$// }
+ is( $wc->html2wiki($html), $wiki, $name );
+ }
+
+ #file_test($wc) unless $minimal;
+}
+
+sub entity_tests {
+ my $tmpl = "__NEXT__\n%s\n__H__\n%s\n__W__\n%s\n"; # test-name, html-input, expected-wiki-output
+
+ my $data = '';
+ my @chars = ( '<', '>', '&' );
+ foreach my $char ( @chars ) {
+ ( my $charname = e($char) ) =~ s/[&;]//g;
+ $data .= sprintf $tmpl, "literal ($charname)", $char, e($char)
+ . sprintf $tmpl, "encode ($charname)", e($char), e($char)
+ . sprintf $tmpl, "meta ($charname)", e(e($char)), e(e($char));
+ }
+
+ return $data;
+}
+
+sub _slurp {
+ my $path = shift;
+ open H, $path or die "couldn't open $path: $!";
+ local $/;
+ my $c = <H>;
+ close H;
+ return $c;
+}
+
+sub file_test {
+ my $wc = shift;
+ my $lc_dialect = lc $wc->dialect;
+ my $infile = File::Spec->catfile( 't', 'complete.html' );
+ my $outfile = File::Spec->catfile( 't', "complete.$lc_dialect" );
+
+ SKIP: {
+ skip "Couldn't find $infile (ignore this)", 1 unless -e $infile;
+ skip "Couldn't find $outfile (ignore this)", 1 unless -e $outfile;
+ my( $got, $expect ) = ( $wc->html2wiki( file => $infile, slurp => 1 ), _slurp($outfile) );
+ for( $got, $expect ) { s/^\n+//; s/\n+$// }
+ is( $got, $expect, 'read from file' );
+ };
+}
+
+1;
More information about the Pkg-perl-cvs-commits
mailing list