File: explicit.t

package info (click to toggle)
libtext-mediawikiformat-perl 1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 236 kB
  • ctags: 46
  • sloc: perl: 1,848; makefile: 2
file content (74 lines) | stat: -rw-r--r-- 2,293 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!perl

BEGIN { chdir 't' if -d 't' }

use strict;
use warnings;

use Test::More tests => 14;
use Test::NoWarnings;
use Test::Warn;

use Text::MediawikiFormat as => 'wf', process_html => 0;

my $wikitext =<<WIKI;

[Ordinary extended link]

[http://nowhere.com explicit URI]

[[Usemod extended link]]

WIKI

my $htmltext = wf ($wikitext);
like $htmltext, qr!'Ordinary'>extended link</a>!m,
     'extended links rendered correctly with default delimiters';
like $htmltext, qr!'http://nowhere\.com'>explicit URI</a>!m,
     'explicit URIs rendered correctly with default delimiters';
like $htmltext, qr!Usemod%20extended%20link'>Usemod extended link</a>!m,
     'Wiki URIs rendered correctly with default delimiters';

# Redefine the delimiters to the same thing again.
my %tags = (
	extended_link_delimiters => qr/(\[(?:\[[^][]*\]|[^][]*)\])/,
);

$htmltext = wf ($wikitext, \%tags);
like $htmltext, qr!'Ordinary'>extended link</a>!m,
     'extended links rendered correctly with default delimiters';
like $htmltext, qr!'http://nowhere\.com'>explicit URI</a>!m,
     'explicit URIs rendered correctly with default delimiters';
like $htmltext, qr!Usemod%20extended%20link'>Usemod extended link</a>!m,
     'Wiki URIs rendered correctly with default delimiters';

# Redefine the delimiters to something different.
%tags = (
	extended_link_delimiters => [qw([ ])],
);

$htmltext = wf ($wikitext, \%tags);

unlike $htmltext, qr!'Ordinary'>extended link</a>!m,
       'extended links ignored with overridden delimiters';
unlike $htmltext, qr!'http://nowhere\.com'>explicit URI</a>!m,
       'explicit URIs ignored with overridden delimiters';
like $htmltext, qr!Usemod extended link</a>[^\]]!m,
     '...and new delimiters recognised';

# Make sure we handle empty delimiters
%tags = (
	extended_link_delimiters => '',
);


warning_like {$htmltext = wf ($wikitext, \%tags)}
	     {carped => [map {qr/^Ignoring/} (1..3)]},
	     "warn of empty extended_link_delimiters";

unlike $htmltext, qr!'Ordinary'>extended link</a>!m,
       'extended links ignored with empty delimiters';
unlike $htmltext, qr!'http://nowhere\.com'>explicit URI</a>!m,
       'explicit URIs ignored with empty delimiters';
unlike $htmltext, qr!Usemod extended link</a>[^\]]!m,
       'Wiki URIs ignored with empty delimiters';