diff --git a/lib/Text/Dokuwiki/Regexps.pm b/lib/Text/Dokuwiki/Regexps.pm index 8da89e5..bb1f854 100644 --- a/lib/Text/Dokuwiki/Regexps.pm +++ b/lib/Text/Dokuwiki/Regexps.pm @@ -9,8 +9,8 @@ my $EOL = '\r?\n'; our $regexps = {}; $regexps->{header} = qr{ -^ (?
.+ ) $EOL -^ (?: [=-]+ )(?: $EOL | $) +^ (?
.+ ) $EOL +^ (? [=-]+ ) (?: $EOL | $) }mx; $regexps->{codeblock} = qr% diff --git a/t/regexps-misc.t b/t/regexps-misc.t new file mode 100644 index 0000000..8d34b6d --- /dev/null +++ b/t/regexps-misc.t @@ -0,0 +1,45 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use utf8; + +use Test::More tests => 10; +use Text::Dokuwiki::Regexps; + +my $rx = $Text::Dokuwiki::Regexps::regexps; +use re 'debugcolor'; +my $text = <<'TEXT'; + +Header 1st level +================= + +TEXT +my $matched = 'Header 1st level'; + +my @matches = $text =~ m/$rx->{header}/; +is(scalar @matches, 2); +is($+{header}, $matched); +is($+{line}, '================='); +is($matches[0], $matched); +is($matches[1], '================='); + +$text = <<'TEXT'; + +Header 2nd level +----------------- + +TEXT +$matched = 'Header 2nd level'; +@matches = $text =~ m/$rx->{header}/; +is(scalar @matches, 2); +is($matches[0], $matched); +is($matches[1], '-----------------'); + +$text = "Header only\n-------------"; +$matched = 'Header only'; +@matches = $text =~ m/$rx->{header}/; +is($matches[0], $matched); +is($matches[1], '-------------'); + +exit 0;