r22323 - in /branches/upstream/libhtml-wikiconverter-dokuwiki-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 21:09:09 UTC 2008


Author: js
Date: Sat Jun 28 21:09:09 2008
New Revision: 22323

URL: http://svn.debian.org/wsvn/?sc=1&rev=22323
Log:
[svn-inject] Installing original source of libhtml-wikiconverter-dokuwiki-perl

Added:
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Changes
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/MANIFEST
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/META.yml
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Makefile.PL
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/README
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/WikiConverter/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/WikiConverter/DokuWiki.pm
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/00-load.t
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/boilerplate.t
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/dokuwiki.t
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod-coverage.t
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod.t
    branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/runtests.pl

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Changes?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Changes (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Changes Sat Jun 28 21:09:09 2008
@@ -1,0 +1,23 @@
+# Change log for HTML::WikiConverter::DokuWiki
+
+version: 0.53
+date:    2007-11-25
+changes:
+  - Require H::WC 0.53 (I mean it this time)
+    instead of 0.60
+
+version: 0.52
+date:    2006-06-20
+changes:
+  - Require H::WC 0.52 (this should have been in the 0.51
+    release of H::WC::DokuWiki)
+
+version: 0.51
+date:    Sun Jan 29 02:17:00 EST 2006
+changes:
+  - Fixed test cases now that HTML::WikiConverter 0.51 unescapes URIs
+
+version: 0.50
+date:    Tue Jan 10 2006
+changes:
+  - Branched from main HTML::WikiConverter codebase.

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/MANIFEST?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/MANIFEST (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/MANIFEST Sat Jun 28 21:09:09 2008
@@ -1,0 +1,12 @@
+Changes
+MANIFEST
+META.yml # Will be created by "make dist"
+Makefile.PL
+README
+lib/HTML/WikiConverter/DokuWiki.pm
+t/00-load.t
+t/boilerplate.t
+t/dokuwiki.t
+t/pod-coverage.t
+t/pod.t
+t/runtests.pl

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/META.yml?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/META.yml (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/META.yml Sat Jun 28 21:09:09 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-DokuWiki
+version:      0.53
+version_from: lib/HTML/WikiConverter/DokuWiki.pm
+installdirs:  site
+requires:
+    HTML::WikiConverter:           0.53
+    Test::More:                    0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.17

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Makefile.PL?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Makefile.PL (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/Makefile.PL Sat Jun 28 21:09:09 2008
@@ -1,0 +1,17 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    NAME                => 'HTML::WikiConverter::DokuWiki',
+    AUTHOR              => 'David J. Iberri <diberri at cpan.org>',
+    VERSION_FROM        => 'lib/HTML/WikiConverter/DokuWiki.pm',
+    ABSTRACT_FROM       => 'lib/HTML/WikiConverter/DokuWiki.pm',
+    PL_FILES            => {},
+    PREREQ_PM => {
+        'Test::More' => 0,
+        'HTML::WikiConverter' => 0.53,
+    },
+    dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+    clean               => { FILES => 'HTML-WikiConverter-DokuWiki-*' },
+);

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/README
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/README?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/README (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/README Sat Jun 28 21:09:09 2008
@@ -1,0 +1,68 @@
+HTML::WikiConverter::DokuWiki version 0.53
+==========================================
+
+HTML::WikiConverter::DokuWiki adds the DokuWiki dialect to
+HTML::WikiConverter allowing the conversion of HTML to DokuWiki
+markup.
+
+SYNOPSIS
+
+Converting HTML to wiki markup is easy:
+
+  use HTML::WikiConverter;
+  my $wc = new HTML::WikiConverter( dialect => 'DokuWiki' );
+  print $wc->html2wiki( $html );
+
+Or from the command line:
+
+  % html2wiki --dialect DokuWiki input.html > output.wiki
+
+There's also a web interface if you're so inclined:
+
+  http://diberri.dyndns.org/wikipedia/html2wiki/
+
+CHANGES IN 0.53
+
+  * Fix dependencies: now requires HTML::WikiConverter 0.53
+    instead of 0.60
+
+DEPENDENCIES
+
+  * HTML::WikiConverter version 0.53
+
+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::DokuWiki
+
+You can also look for information at:
+
+    Search CPAN
+        http://search.cpan.org/dist/HTML-WikiConverter-DokuWiki
+
+    CPAN Request Tracker:
+        http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-WikiConverter-DokuWiki
+
+    AnnoCPAN, annotated CPAN documentation:
+        http://annocpan.org/dist/HTML-WikiConverter-DokuWiki
+
+    CPAN Ratings:
+        http://cpanratings.perl.org/d/HTML-WikiConverter-DokuWiki
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2007 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-dokuwiki-perl/current/lib/HTML/WikiConverter/DokuWiki.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/WikiConverter/DokuWiki.pm?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/WikiConverter/DokuWiki.pm (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/lib/HTML/WikiConverter/DokuWiki.pm Sat Jun 28 21:09:09 2008
@@ -1,0 +1,232 @@
+package HTML::WikiConverter::DokuWiki;
+
+use warnings;
+use strict;
+
+use base 'HTML::WikiConverter';
+
+our $VERSION = '0.53';
+
+=head1 NAME
+
+HTML::WikiConverter::DokuWiki - Convert HTML to DokuWiki markup
+
+=head1 SYNOPSIS
+
+  use HTML::WikiConverter;
+  my $wc = new HTML::WikiConverter( dialect => 'DokuWiki' );
+  print $wc->html2wiki( $html );
+
+=head1 DESCRIPTION
+
+This module contains rules for converting HTML into DokuWiki
+markup. See L<HTML::WikiConverter> for additional usage details.
+
+=head1 ATTRIBUTES
+
+In addition to the regular set of attributes recognized by the
+L<HTML::WikiConverter> constructor, this dialect also accepts the
+following attributes:
+
+=head2 camel_case
+
+Boolean indicating whether CamelCase links are enabled in the target DokuWiki
+instance. Enabling CamelCase links will turn HTML like this
+
+  <p><a href="/wiki:camelcase">CamelCase</a> links are fun.</p>
+
+into this DokuWiki markup:
+
+  CamelCase links are fun.
+
+Disabling CamelCase links (the default) would convert that HTML into
+
+  [[CamelCase]] links are fun.
+
+=cut
+
+sub attributes { {
+  camel_case => { default => 0 }
+} }
+
+sub rules {
+  my %rules = (
+    b => { start => '**', end => '**' },
+    strong => { alias => 'b' },
+    i => { start => '//', end => '//' },
+    em => { alias => 'i' },
+    u => { start => '__', end => '__' },
+
+    tt => { start => '"', end => '"' },
+    code => { alias => 'tt' },
+    a => { replace => \&_link },
+    img => { replace => \&_image },
+
+    pre => { line_format => 'blocks', line_prefix => '  ', block => 1 },
+    blockquote => { start => "\n", line_prefix => '>', block => 1, line_format => 'multi', trim => 'leading' },
+
+    p => { block => 1, trim => 'both', line_format => 'multi' },
+    br => { replace => "\\\\ " },
+    hr => { replace => "\n----\n" },
+
+    sup => { preserve => 1 },
+    sub => { preserve => 1 },
+    del => { preserve => 1 },
+
+    ul => { line_format => 'multi', block => 1, line_prefix => '  ' },
+    ol => { alias => 'ul' },
+    li => { line_format => 'multi', start => \&_li_start, trim => 'leading' },
+
+    table => { block => 1 },
+    tr => { start => "\n", line_format => 'single' },
+    td => { start => \&_td_start, end => \&_td_end, trim => 'both' },
+    th => { alias => 'td' },
+  );
+
+  for( 1..5 ) {
+    my $str = ( '=' ) x (7 - $_ );
+    $rules{"h$_"} = { start => "$str ", end => " $str", block => 1, trim => 'both', line_format => 'single' };
+  }
+  $rules{h6} = { start => '== ', end => ' ==', block => 1, trim => 'both', line_format => 'single' };
+
+  return \%rules;
+}
+
+sub postprocess_output {
+  my( $self, $outref ) = @_;
+  $$outref =~ s~^>+\s+~~gm; # rm empty blockquote prefixes
+  $$outref =~ s~^(>+)~$1 ~gm; # add space after prefix for clarity
+}
+
+sub _li_start {
+  my( $self, $node, $rules ) = @_;
+  my @parent_lists = $node->look_up( _tag => qr/ul|ol/ );
+
+  my $bullet = '';
+  $bullet = '*' if $node->parent->tag eq 'ul';
+  $bullet = '-' if $node->parent->tag eq 'ol';
+
+  return "\n$bullet ";
+}
+
+sub _link {
+  my( $self, $node, $rules ) = @_;
+  my $url = $node->attr('href') || '';
+  my $text = $self->get_elem_contents($node) || '';
+  
+  if( my $title = $self->get_wiki_page($url) ) {
+    # [[MiXed cAsE]] ==> <a href="http://site/wiki:mixed_case">MiXed cAsE</a>
+    $title =~ s/_/ /g;
+    return $text if $self->camel_case and lc $title eq lc $text and $self->is_camel_case($text);
+    return "[[$text]]" if lc $text eq lc $title;
+    return "[[$title|$text]]";
+  } else {
+    return $url if $url eq $text;
+    return "[[$url|$text]]";
+  }
+}
+
+sub _image {
+  my( $self, $node, $rules ) = @_;
+  my $src = $node->attr('src') || '';
+  return '' unless $src;
+
+  my $w = $node->attr('width') || 0;
+  my $h = $node->attr('height') || 0;
+  if( $w and $h ) {
+    $src .= "?${w}x${h}";
+  } elsif( $w ) {
+    $src .= "?${w}";
+  }
+
+  my $class = $node->attr('class') || '';
+  my $padleft = $class eq 'mediaright' || $class eq 'mediacenter' ? ' ' : '';
+  my $padright = $class eq 'medialeft' || $class eq 'mediacenter' ? ' ' : '';
+  $src = "$padleft$src$padright";
+
+  # All images considered external
+  my $caption = $node->attr('title') || $node->attr('alt') || '';
+  return "{{$src|$caption}}" if $caption;
+  return "{{$src}}";
+}
+
+sub _td_start {
+  my( $self, $node, $rules ) = @_;
+  my $prefix = $node->tag eq 'th' ? '^' : '|';
+  $prefix .= ' ';
+
+  my $class = $node->attr('class') || '';
+  $prefix .= ' ' if $class eq 'rightalign' or $class eq 'centeralign';
+
+  return $prefix;
+}
+
+sub _td_end {
+  my( $self, $node, $rules ) = @_;
+
+  my $end = ' ';
+
+  my $class = $node->attr('class') || '';
+  $end .= ' ' if $class eq 'leftalign' or $class eq 'centeralign';
+
+  my $colspan = $node->attr('colspan') || 1;
+
+  my @right_cells = grep { $_->tag && $_->tag =~ /th|td/ } $node->right;
+  return $end if $colspan == 1 and @right_cells;
+
+  my $suffix = $node->tag eq 'th' ? '^' : '|';
+  $suffix = ( $suffix ) x $colspan;
+  return $end.$suffix;
+}
+
+=head1 AUTHOR
+
+David J. Iberri, C<< <diberri at cpan.org> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests to
+C<bug-html-wikiconverter-dokuwiki at rt.cpan.org>, or through the web
+interface at
+L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-WikiConverter-DokuWiki>.
+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::DokuWiki
+
+You can also look for information at:
+
+=over 4
+
+=item * AnnoCPAN: Annotated CPAN documentation
+
+L<http://annocpan.org/dist/HTML-WikiConverter-DokuWiki>
+
+=item * CPAN Ratings
+
+L<http://cpanratings.perl.org/d/HTML-WikiConverter-DokuWiki>
+
+=item * RT: CPAN's request tracker
+
+L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-WikiConverter-DokuWiki>
+
+=item * Search CPAN
+
+L<http://search.cpan.org/dist/HTML-WikiConverter-DokuWiki>
+
+=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-dokuwiki-perl/current/t/00-load.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/00-load.t?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/00-load.t (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/00-load.t Sat Jun 28 21:09:09 2008
@@ -1,0 +1,9 @@
+#!perl -T
+
+use Test::More tests => 1;
+
+BEGIN {
+	use_ok( 'HTML::WikiConverter::DokuWiki' );
+}
+
+diag( "Testing HTML::WikiConverter::DokuWiki $HTML::WikiConverter::DokuWiki::VERSION, Perl $], $^X" );

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/boilerplate.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/boilerplate.t?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/boilerplate.t (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/boilerplate.t Sat Jun 28 21:09:09 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/DokuWiki.pm');

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/dokuwiki.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/dokuwiki.t?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/dokuwiki.t (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/dokuwiki.t Sat Jun 28 21:09:09 2008
@@ -1,0 +1,395 @@
+local $/;
+require 't/runtests.pl';
+runtests( data => <DATA>, dialect => 'DokuWiki', wiki_uri => 'http://www.test.com/wiki:', camel_case => 1 );
+close DATA;
+
+__DATA__
+table
+__H__
+<table><tr><td>thing</td></tr></table>
+__W__
+| thing |
+__NEXT__
+table (multi-row)
+__H__
+<table>
+<tr><td>one</td></tr>
+<tr><td>two</td></tr>
+</table>
+__W__
+| one |
+| two |
+__NEXT__
+table (full 1)
+__H__
+<table>
+<tr><th class="centeralign" colspan="3">Table with alignment</th></tr>
+<tr><td class="rightalign">right</td><td class="centeralign">center</td><td class="leftalign">left</td></tr>
+<tr><td class="leftalign">left</td><td class="rightalign">right</td><td class="centeralign">center</td></tr>
+<tr><td>xxxxxxxxxxxx</td><td>xxxxxxxxxxxx</td><td>xxxxxxxxxxxx</td></tr>
+</table>
+__W__
+^  Table with alignment  ^^^
+|  right |  center  | left  |
+| left  |  right |  center  |
+| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
+__NEXT__
+table (full 2)
+__H__
+<table>
+<tr><th class="leftalign">Heading 1</th><th class="leftalign">Heading 2</th><th class="leftalign">Heading 3</th></tr>
+<tr><td class="leftalign">Row 1 Col 1</td><td class="leftalign">Row 1 Col 2</td><td class="leftalign">Row 1 Col 3</td></tr>
+<tr><td class="leftalign">Row 2 Col 1</td><td colspan="2">some colspan (note the double pipe)</td></tr>
+<tr><td class="leftalign">Row 3 Col 1</td><td class="leftalign">Row 2 Col 2</td><td class="leftalign">Row 2 Col 3</td></tr>
+</table>
+__W__
+^ Heading 1  ^ Heading 2  ^ Heading 3  ^
+| Row 1 Col 1  | Row 1 Col 2  | Row 1 Col 3  |
+| Row 2 Col 1  | some colspan (note the double pipe) ||
+| Row 3 Col 1  | Row 2 Col 2  | Row 2 Col 3  |
+__NEXT__
+table (full 3)
+__H__
+<table>
+<tr><th>name</th><td>foo</td></tr>
+<tr><th>age</th><td>3.14</td></tr>
+<tr><th>odd</th><td>true</td></tr>
+</table>
+__W__
+^ name | foo |
+^ age | 3.14 |
+^ odd | true |
+__NEXT__
+h1
+__H__
+<h1>one</h1>
+__W__
+====== one ======
+__NEXT__
+h2
+__H__
+<h2>two</h2>
+__W__
+===== two =====
+__NEXT__
+h3
+__H__
+<h3>three</h3>
+__W__
+==== three ====
+__NEXT__
+h4
+__H__
+<h4>four</h4>
+__W__
+=== four ===
+__NEXT__
+h5
+__H__
+<h5>five</h5>
+__W__
+== five ==
+__NEXT__
+h6
+__H__
+<h6>six</h6>
+__W__
+== six ==
+__NEXT__
+external image
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" />
+__W__
+{{http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png}}
+__NEXT__
+external image (resize width)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" width="25" />
+__W__
+{{http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png?25}}
+__NEXT__
+external image (resize width and height)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" width="25" height="30" />
+__W__
+{{http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png?25x30}}
+__NEXT__
+external image align (left)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" class="medialeft" />
+__W__
+{{http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png }}
+__NEXT__
+external image align (right)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" class="mediaright" />
+__W__
+{{ http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png}}
+__NEXT__
+external image align (center)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" class="mediacenter" />
+__W__
+{{ http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png }}
+__NEXT__
+external image align (center w/ caption)
+__H__
+<img src="http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png" class="mediacenter" alt="Caption" />
+__W__
+{{ http://wiki.splitbrain.org/fetch.php?w=&h=&cache=cache&media=wiki:dokuwiki-128.png |Caption}}
+__NEXT__
+blockquote
+__H__
+<blockquote>one</blockquote>
+__W__
+> one
+__NEXT__
+blockquote (nested)
+__H__
+<blockquote><blockquote>two</blockquote></blockquote>
+__W__
+>> two
+__NEXT__
+blockquote (multi-line)
+__H__
+<blockquote>span
+single
+line</blockquote>
+__W__
+> span single line
+__NEXT__
+blockquote (nested multi-line)
+__H__
+<blockquote><blockquote>span
+single
+line</blockquote></blockquote>
+__W__
+>> span single line
+__NEXT__
+blockquote (markup)
+__H__
+<blockquote><b>with</b> <em>fancy
+markup</em> that <u>spans
+multiple
+lines</u></blockquote>
+__W__
+> **with** //fancy markup// that __spans multiple lines__
+__NEXT__
+blockquote (nested continuous)
+__H__
+<blockquote>one<blockquote>two</blockquote></blockquote>
+__W__
+> one
+>> two
+__NEXT__
+blockquote (doubly nested continuous)
+__H__
+<blockquote>one<blockquote>two<blockquote>three</blockquote></blockquote></blockquote>
+__W__
+> one
+>> two
+>>> three
+__NEXT__
+blockquote (linebreak)
+__H__
+<blockquote>line<br />break</blockquote>
+__W__
+> line\\ break
+__NEXT__
+blockquote (full)
+__H__
+<blockquote>
+ No we shouldn't</blockquote>
+<blockquote>
+<blockquote>
+ Well, I say we should</blockquote>
+</blockquote>
+<blockquote>
+ Really?</blockquote>
+<blockquote>
+
+<blockquote>
+ Yes!</blockquote>
+</blockquote>
+<blockquote>
+<blockquote>
+<blockquote>
+ Then lets do it!</blockquote>
+</blockquote>
+</blockquote>
+__W__
+> No we shouldn't
+
+>> Well, I say we should
+
+> Really?
+
+>> Yes!
+
+>>> Then lets do it!
+__NEXT__
+internal link (lcase)
+__H__
+<a href="/wiki:test">test</a>
+__W__
+[[test]]
+__NEXT__
+internal link (ucase)
+__H__
+<a href="/wiki:test">TEST</a>
+__W__
+[[TEST]]
+__NEXT__
+internal link (camel case)
+__H__
+<a href="/wiki:test">tEsT</a>
+__W__
+tEsT
+__NEXT__
+external link (anonymous)
+__H__
+<a href="http://www.test.com">http://www.test.com</a>
+__W__
+http://www.test.com
+__NEXT__
+external link (named)
+__H__
+<a href="http://www.test.com">test</a>
+__W__
+[[http://www.test.com|test]]
+__NEXT__
+external link (fragment)
+__H__
+<a href="/wiki:syntax#internal">this Section</a>
+__W__
+[[syntax#internal|this Section]]
+__NEXT__
+linebreak
+__H__
+line<br />break
+__W__
+line\\ break
+__NEXT__
+bold
+__H__
+<b>bold text</b>
+__W__
+**bold text**
+__NEXT__
+strong
+__H__
+<strong>strong text</strong>
+__W__
+**strong text**
+__NEXT__
+italic
+__H__
+<i>italic text</i>
+__W__
+//italic text//
+__NEXT__
+emphasized
+__H__
+<em>em text</em>
+__W__
+//em text//
+__NEXT__
+ul
+__H__
+<ul>
+  <li>one
+  <li>two
+  <li>three
+</ul>
+__W__
+  * one
+  * two
+  * three
+__NEXT__
+ul (nested)
+__H__
+<ul>
+  <li>1
+    <ul>
+      <li>1.a
+      <li>1.b
+    </ul>
+  </li>
+  <li>2
+  <li>3
+</ul>
+__W__
+  * 1
+    * 1.a
+    * 1.b
+  * 2
+  * 3
+__NEXT__
+ol
+__H__
+<ol>
+  <li>one
+  <li>two
+  <li>three
+</ol>
+__W__
+  - one
+  - two
+  - three
+__NEXT__
+ol (nested)
+__H__
+<ol>
+  <li>1
+    <ol>
+      <li>1.a
+      <li>1.b
+    </ol>
+  </li>
+  <li>2
+  <li>3
+</ol>
+__W__
+  - 1
+    - 1.a
+    - 1.b
+  - 2
+  - 3
+__NEXT__
+ul/ol combo
+__H__
+<ol>
+  <li>1
+    <ul>
+      <li>1.a
+      <li>1.b
+    </ul>
+  </li>
+  <li>2
+  <li>3
+</ol>
+__W__
+  - 1
+    * 1.a
+    * 1.b
+  - 2
+  - 3
+__NEXT__
+ol/ul combo
+__H__
+<ul>
+  <li>1
+    <ol>
+      <li>1.a
+      <li>1.b
+    </ol>
+  </li>
+  <li>2
+  <li>3
+</ul>
+__W__
+  * 1
+    - 1.a
+    - 1.b
+  * 2
+  * 3

Added: branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod-coverage.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod-coverage.t?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod-coverage.t (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod-coverage.t Sat Jun 28 21:09:09 2008
@@ -1,0 +1,26 @@
+#!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
+    |elem_within_block
+    |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-dokuwiki-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod.t?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod.t (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/pod.t Sat Jun 28 21:09:09 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-dokuwiki-perl/current/t/runtests.pl
URL: http://svn.debian.org/wsvn/branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/runtests.pl?rev=22323&op=file
==============================================================================
--- branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/runtests.pl (added)
+++ branches/upstream/libhtml-wikiconverter-dokuwiki-perl/current/t/runtests.pl Sat Jun 28 21:09:09 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 '&lt;' in your input, use "&amp;lt;"
+__W__
+To enter a '&lt;' in your input, use "&amp;lt;"
+__NEXT__
+entities (2)
+__H__
+To enter a '<' in your input, use "&amp;lt;"
+__W__
+To enter a '&lt;' in your input, use "&amp;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