You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
1.8 KiB
87 lines
1.8 KiB
#!/usr/bin/env perl |
|
|
|
use strict; |
|
use warnings; |
|
use utf8; |
|
|
|
use Test::More tests => 30; |
|
use Text::Dokuwiki::Regexps; |
|
|
|
my $rx = $Text::Dokuwiki::Regexps::regexps; |
|
my $text = <<'TEXT'; |
|
|
|
>> are you ok? |
|
> sure! |
|
> not matched |
|
|
|
TEXT |
|
|
|
my $matched = <<'TEXT'; |
|
>> are you ok? |
|
> sure! |
|
TEXT |
|
my @matches = ($text =~ $rx->{blockquote}); |
|
is(scalar @matches, 1); |
|
is($matches[0], $matched); |
|
is($+{block}, $matched); |
|
|
|
$text = <<'TEXT'; |
|
<code> |
|
some code here |
|
</code> |
|
TEXT |
|
$matched = <<'TEXT'; |
|
some code here |
|
TEXT |
|
@matches = ($text =~ $rx->{codeblock}); |
|
is(scalar @matches, 4); |
|
is($matches[0], 'code'); # tag name |
|
is($matches[1], undef); # syntax (missing) |
|
is($matches[2], undef); # filename (missing) |
|
is($matches[3], $matched); |
|
is($+{tag}, 'code'); |
|
is($+{block}, $matched); |
|
is($+{syntax}, undef); |
|
is($+{filename}, undef); |
|
|
|
$text = <<'TEXT'; |
|
<file pubkey.asc> |
|
--- pgp block start --- |
|
0YXRg9C5 |
|
--- pgp block end --- |
|
</file> |
|
TEXT |
|
$matched = <<'TEXT'; |
|
--- pgp block start --- |
|
0YXRg9C5 |
|
--- pgp block end --- |
|
TEXT |
|
@matches = ($text =~ $rx->{codeblock}); |
|
is(scalar @matches, 4); |
|
is($matches[0], 'file'); # tag name |
|
is($matches[1], undef); # syntax (missing) |
|
is($matches[2], 'pubkey.asc'); # filename |
|
is($matches[3], $matched); |
|
is($+{tag}, 'file'); |
|
is($+{block}, $matched); |
|
is($+{syntax}, undef); |
|
is($+{filename}, 'pubkey.asc'); |
|
|
|
$text = <<'TEXT'; |
|
<code c main.c> |
|
int main() { return 0; } |
|
</code> |
|
TEXT |
|
$ matched = "int main() { return 0; }\n"; |
|
@matches = ($text =~ $rx->{codeblock}); |
|
is(scalar @matches, 4); |
|
is($matches[0], 'code'); # tag name |
|
is($matches[1], 'c'); # syntax |
|
is($matches[2], 'main.c'); # filename |
|
is($matches[3], $matched); |
|
is($+{tag}, 'code'); |
|
is($+{block}, $matched); |
|
is($+{syntax}, 'c'); |
|
is($+{filename}, 'main.c'); |
|
|
|
exit 0;
|
|
|