#!perl use strict; use warnings; use Test::More tests => 7; use Text::WikiFormat; my $wikitext =<This should be a list.!m, 'unordered lists should render correctly' ); like( $htmltext, qr!
  • This should be an ordered list.
  • !m, '...ordered lists too' ); # Redefine all the list regexps to what they were to start with. my %tags = ( lists => { ordered => qr/([\dA-Za-z]+)\.\s*/, unordered => qr/\*\s*/, code => qr//, }, ); $htmltext = Text::WikiFormat::format($wikitext, \%tags, {} ); like( $htmltext, qr!
  • This should be a list.
  • !m, 'unordered should remain okay when we redefine all list regexps' ); like( $htmltext, qr!
  • This should be an ordered list.
  • !m, '...ordered lists too' ); # Redefine again, set one of them to something different. %tags = ( blocks => { ordered => qr/([\dA-Za-z]+)\.\s*/, unordered => qr/^\s*!\s*/, code => qr//, }, ); $htmltext = Text::WikiFormat::format($wikitext, \%tags, {} ); like( $htmltext, qr!
  • But marked differently
  • !m, 'unordered should still work when redefined' ); like( $htmltext, qr!
  • This should be an ordered list.
  • !m, '...ordered should be unaffected' ); # Now try it without requiring an indent. %tags = ( indent => qr/^\s*/, blocks => { ordered => qr/^([\dA-Za-z]+)\.\s*/, unordered => qr/\*\s*/, code => qr/^ /, }, indented => { unordered => 0 }, ); $htmltext = Text::WikiFormat::format($wikitext, \%tags, {} ); like( $htmltext, qr!
  • But not indented!m, 'redefining a list type to require no indent should work' );