forked from perl-pod/pod-simple
/
html01.t
125 lines (97 loc) · 2.06 KB
/
html01.t
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Testing HTML paragraphs
BEGIN {
if($ENV{PERL_CORE}) {
chdir 't';
@INC = '../lib';
}
}
use strict;
use Test;
BEGIN { plan tests => 12 };
#use Pod::Simple::Debug (10);
use Pod::Simple::HTML;
sub x ($;&) {
my $code = $_[1];
Pod::Simple::HTML->_out(
sub{ $_[0]->bare_output(1); $code->($_[0]) if $code },
"=pod\n\n$_[0]",
) }
ok( x(
q{
=pod
This is a paragraph
=cut
}),
qq{\n<p>This is a paragraph</p>\n},
"paragraph building"
);
ok( x(qq{=pod\n\nThis is a paragraph}),
qq{\n<p>This is a paragraph</p>\n},
"paragraph building"
);
ok( x(qq{This is a paragraph}),
qq{\n<p>This is a paragraph</p>\n},
"paragraph building"
);
ok(x(
'=head1 This is a heading')
=> q{/\s*<h1><a[^<>]+>This\s+is\s+a\s+heading</a></h1>\s*$/},
"heading building"
);
ok(x('=head1 This is a heading', sub { $_[0]->html_h_level(2) })
=> q{/\s*<h2><a[^<>]+>This\s+is\s+a\s+heading</a></h2>\s*$/},
"heading building"
);
ok(x(
'=head2 This is a heading too')
=> q{/\s*<h2><a[^<>]+>This\s+is\s+a\s+heading\s+too</a></h2>\s*$/},
"heading building"
);
ok(x(
'=head3 Also, this is a heading')
=> q{/\s*<h3><a[^<>]+>Also,\s+this\s+is\s+a\s+heading</a></h3>\s*$/},
"heading building"
);
ok(x(
'=head4 This, too, is a heading')
=> q{/\s*<h4><a[^<>]+>This,\s+too,\s+is\s+a\s+heading</a></h4>\s*$/},
"heading building"
);
ok(x(
'=head2 Yada Yada Operator
X<...> X<... operator> X<yada yada operator>')
=> q{/name="Yada_Yada_Operator"/},
"heading anchor name"
);
ok(
x("=over 4\n\n=item one\n\n=item two\n\nHello\n\n=back\n"),
q{
<dl>
<dt><a name="one"
>one</a></dt>
<dd>
<dt><a name="two"
>two</a></dt>
<dd>
<p>Hello</p>
</dd>
</dl>
}
);
# Check subclass.
SUBCLASS: {
package My::Pod::HTML;
use vars '@ISA', '$VERSION';
@ISA = ('Pod::Simple::HTML');
$VERSION = '0.01';
sub do_section { 'howdy' }
}
ok(
My::Pod::HTML->_out(
sub{ $_[0]->bare_output(1) },
"=pod\n\n=over\n\n=item Foo\n\n=back\n",
),
"\n<dl>\n<dt><a name=\"howdy\"\n>Foo</a></dt>\n</dl>\n",
);
print "# And one for the road...\n";
ok 1;