Zubrikhin Alexey
10 years ago
3 changed files with 198 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||||||
|
#!/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; |
@ -0,0 +1,61 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
|
||||||
|
use strict; |
||||||
|
use warnings; |
||||||
|
use utf8; |
||||||
|
|
||||||
|
use Test::More tests => 8; |
||||||
|
use Text::Dokuwiki::Regexps; |
||||||
|
|
||||||
|
my $rx = $Text::Dokuwiki::Regexps::regexps; |
||||||
|
my $text = <<'TEXT'; |
||||||
|
|
||||||
|
- item 1 |
||||||
|
- item 2 |
||||||
|
* item 1 level 2 |
||||||
|
* item 2 level 2 |
||||||
|
- item 3 |
||||||
|
|
||||||
|
TEXT |
||||||
|
|
||||||
|
my $matched = <<'TEXT'; |
||||||
|
- item 1 |
||||||
|
- item 2 |
||||||
|
* item 1 level 2 |
||||||
|
* item 2 level 2 |
||||||
|
- item 3 |
||||||
|
TEXT |
||||||
|
|
||||||
|
my @matches = $text =~ m/$rx->{list}/; |
||||||
|
is($+{list}, $matched); |
||||||
|
is(scalar @matches, 1); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
|
||||||
|
- not enough identation |
||||||
|
|
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{list}/; |
||||||
|
is(scalar @matches, 0); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
- item |
||||||
|
* item |
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{list}/; |
||||||
|
is(scalar @matches, 1); |
||||||
|
is($matches[0], $text); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
+ wrong item marker |
||||||
|
|
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{list}/; |
||||||
|
is(scalar @matches, 0); |
||||||
|
|
||||||
|
$text = ' * missing newline'; |
||||||
|
@matches = $text =~ m/$rx->{list}/; |
||||||
|
is(scalar @matches, 1); |
||||||
|
is($matches[0], $text); |
||||||
|
|
||||||
|
exit 0; |
@ -0,0 +1,50 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
|
||||||
|
use strict; |
||||||
|
use warnings; |
||||||
|
use utf8; |
||||||
|
|
||||||
|
use Test::More tests => 8; |
||||||
|
use Text::Dokuwiki::Regexps; |
||||||
|
|
||||||
|
my $rx = $Text::Dokuwiki::Regexps::regexps; |
||||||
|
my $text = <<'TEXT'; |
||||||
|
|
||||||
|
^ header ^ header ^ |
||||||
|
| data | data | |
||||||
|
|
||||||
|
TEXT |
||||||
|
|
||||||
|
my $matched = <<'TEXT'; |
||||||
|
^ header ^ header ^ |
||||||
|
| data | data | |
||||||
|
TEXT |
||||||
|
|
||||||
|
my @matches = $text =~ m/$rx->{table}/; |
||||||
|
is(scalar @matches, 1); |
||||||
|
is($+{table}, $matched); |
||||||
|
is($matches[0], $matched); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
^ header ^ header ^ |
||||||
|
| data | data | missing trailing border |
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{table}/; |
||||||
|
is(scalar @matches, 1); |
||||||
|
is($matches[0], "^ header ^ header ^\n"); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
^ header ^ header ^ |
||||||
|
missing leading border | data | data | |
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{table}/; |
||||||
|
is(scalar @matches, 1); |
||||||
|
is($matches[0], "^ header ^ header ^\n"); |
||||||
|
|
||||||
|
$text = <<'TEXT'; |
||||||
|
^ not match, two leading spaces | |
||||||
|
TEXT |
||||||
|
@matches = $text =~ m/$rx->{table}/; |
||||||
|
is(scalar @matches, 0); |
||||||
|
|
||||||
|
exit 0; |
Loading…
Reference in new issue