summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/podlators/t
diff options
context:
space:
mode:
authorafresh1 <afresh1@openbsd.org>2019-02-13 21:10:38 +0000
committerafresh1 <afresh1@openbsd.org>2019-02-13 21:10:38 +0000
commit5759b3d249badf144a6240f7eec4dcf9df003e6b (patch)
tree88ca2f73bac6772bb3b7819e5ca28614859b0f2c /gnu/usr.bin/perl/cpan/podlators/t
parentstrsep the -e argument for execve; ok benno (diff)
downloadwireguard-openbsd-5759b3d249badf144a6240f7eec4dcf9df003e6b.tar.xz
wireguard-openbsd-5759b3d249badf144a6240f7eec4dcf9df003e6b.zip
Import perl-5.28.1
looking good sthen@, Great! bluhm@
Diffstat (limited to 'gnu/usr.bin/perl/cpan/podlators/t')
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.cap6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.clr6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.man6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.ovr6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.pod6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/basic.txt6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/agrave12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/backslash-man-ref10
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullet-after-nonbullet25
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullets25
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-header10
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-name11
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/dollar-magic24
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-die27
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-none21
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-normal24
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-pod27
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr24
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr-opt24
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/eth10
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font18
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font-in-item29
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/for-blocks33
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/hyphen-in-s14
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/iso-8859-128
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/item-fonts14
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-quoting12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-to-url25
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/long-quote16
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-and-quote17
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-rquote17
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/markup-in-name11
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/multiline-x14
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/name-guesswork18
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nested-lists30
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/newlines-in-c14
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/non-ascii12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-bullet15
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-numbers30
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nourls15
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/paired-quotes20
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/periods12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/quote-escaping12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/rquote-none16
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/small-caps-magic12
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/soft-hyphens40
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/trailing-space20
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/true-false16
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/uppercase-license24
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace13
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace-entry13
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/docs/pod-spelling.t2
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/docs/pod.t2
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/docs/synopsis.t2
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/lib/Test/Podlators.pm41
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA.pm51
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/Config.pm30
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm4
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/man/devise-title.t6
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/man/empty.t80
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/man/iso-8859-1.t25
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/man/snippets.t41
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/style/minimum-version.t2
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/style/module-version.t2
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/style/strict.t8
-rw-r--r--gnu/usr.bin/perl/cpan/podlators/t/text/options.t2
66 files changed, 1083 insertions, 105 deletions
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.cap b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.cap
index 20fc1e561cc..d580ed89dcd 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.cap
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.cap
@@ -80,8 +80,6 @@
"Section "with" other markup" in foo|bar
- Nested <http://www.perl.org/>
-
OVER AND ITEMS
Taken from Pod::Parser tests, this is a test to ensure that multiline
=item paragraphs get indented appropriately.
@@ -174,12 +172,12 @@
Of course I should still be able to do all this with escape sequences too:
"$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
- Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+ Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
And make sure that 0 works too!
Now, if I use << or >> as my delimiters, then I have to use whitespace. So
- things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end up
+ things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end up
doing what you might expect since the first > will still terminate the
first < seen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.clr b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.clr
index f98857187ab..f9591c87d69 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.clr
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.clr
@@ -80,8 +80,6 @@
"Section "with" other markup" in foo|bar
- Nested <http://www.perl.org/>
-
OVER AND ITEMS
Taken from Pod::Parser tests, this is a test to ensure that multiline
=item paragraphs get indented appropriately.
@@ -175,12 +173,12 @@
Of course I should still be able to do all this with escape sequences
too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
- Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+ Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
And make sure that 0 works too!
Now, if I use << or >> as my delimiters, then I have to use whitespace.
- So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+ So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
up doing what you might expect since the first > will still terminate
the first < seen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.man b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.man
index 43874b6e877..871bd923fd4 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.man
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.man
@@ -90,8 +90,6 @@ Testing \fIitalics\fR
"\fIItalic\fR text" in foo
.PP
"Section \f(CW\*(C`with\*(C'\fR \fI\f(BIother\fI markup\fR" in foo|bar
-.PP
-Nested <http://www.perl.org/>
.SH "OVER AND ITEMS"
.IX Header "OVER AND ITEMS"
Taken from Pod::Parser tests, this is a test to ensure that multiline
@@ -218,12 +216,12 @@ Of course I should still be able to do all this \fIwith\fR escape sequences
too: \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and
\&\f(CW\*(C`{FOO=>BAR}\*(C'\fR.
.PP
-Dont forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
+Don't forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
.PP
And make sure that \f(CW0\fR works too!
.PP
Now, if I use << or >> as my delimiters, then I have to use whitespace.
-So things like \f(CW\*(C`<$self\-\*(C'\fR\fImethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> wont end
+So things like \f(CW\*(C`<$self\-\*(C'\fR\fBmethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> won't end
up doing what you might expect since the first > will still terminate
the first < seen.
.PP
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.ovr b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.ovr
index bb124a0bd44..14a116946a6 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.ovr
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.ovr
@@ -80,8 +80,6 @@ LLIINNKKSS
"Section "with" _o_t_h_e_r_ _m_a_r_k_u_p" in foo|bar
- Nested <http://www.perl.org/>
-
OOVVEERR  AANNDD  IITTEEMMSS
Taken from Pod::Parser tests, this is a test to ensure that multiline
=item paragraphs get indented appropriately.
@@ -175,12 +173,12 @@ FFOORRMMAATTTTIINNGG  CCOODDEESS
Of course I should still be able to do all this _w_i_t_h escape sequences
too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
- Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+ Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
And make sure that 0 works too!
Now, if I use << or >> as my delimiters, then I have to use whitespace.
- So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+ So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
up doing what you might expect since the first > will still terminate
the first < seen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.pod b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.pod
index 949b3a88869..3c784e6fcb2 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.pod
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.pod
@@ -93,8 +93,6 @@ L<foo/I<Italic> text>
L<fooE<verbar>barZ<>/Section C<with> I<B<other> markup>>
-L<Nested L<http://www.perl.org/>|fooE<sol>bar>
-
=head1 OVER AND ITEMS
Taken from Pod::Parser tests, this is a test to ensure that multiline
@@ -270,12 +268,12 @@ Of course I should still be able to do all this I<with> escape sequences
too: C<$self-E<gt>method()> and C<$self-E<gt>{FIELDNAME}> and
C<{FOO=E<gt>BAR}>.
-Dont forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
+Don't forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
And make sure that C<0> works too!
Now, if I use << or >> as my delimiters, then I have to use whitespace.
-So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> wont end
+So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> won't end
up doing what you might expect since the first > will still terminate
the first < seen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.txt b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.txt
index 986e98a1cd2..f0f8ba216df 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/data/basic.txt
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/basic.txt
@@ -80,8 +80,6 @@ LINKS
"Section "with" *other markup*" in foo|bar
- Nested <http://www.perl.org/>
-
OVER AND ITEMS
Taken from Pod::Parser tests, this is a test to ensure that multiline
=item paragraphs get indented appropriately.
@@ -175,12 +173,12 @@ FORMATTING CODES
Of course I should still be able to do all this *with* escape sequences
too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
- Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+ Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
And make sure that 0 works too!
Now, if I use << or >> as my delimiters, then I have to use whitespace.
- So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+ So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
up doing what you might expect since the first > will still terminate
the first < seen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/agrave b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/agrave
new file mode 100644
index 00000000000..c1ec02655ae
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/agrave
@@ -0,0 +1,12 @@
+[name]
+E<agrave>
+
+[input]
+=head1 agrave
+
+Open E<agrave> la shell. Previous versions mapped it wrong.
+
+[output]
+.SH "agrave"
+.IX Header "agrave"
+Open a\*` la shell. Previous versions mapped it wrong.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/backslash-man-ref b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/backslash-man-ref
new file mode 100644
index 00000000000..72463ce1a83
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/backslash-man-ref
@@ -0,0 +1,10 @@
+[name]
+Backlash man page reference
+
+[input]
+=pod
+
+Not a man page reference: \s0(1)
+
+[output]
+Not a man page reference: \es0(1)
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullet-after-nonbullet b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullet-after-nonbullet
new file mode 100644
index 00000000000..f98302add6d
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullet-after-nonbullet
@@ -0,0 +1,25 @@
+[name]
+Handling of bullet after non-bullet
+
+[options]
+errors none
+
+[input]
+=over 4
+
+=item foo
+
+Not a bullet.
+
+=item *
+
+Also not a bullet.
+
+=back
+
+[output]
+.IP "foo" 4
+.IX Item "foo"
+Not a bullet.
+.IP "*" 4
+Also not a bullet.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullets b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullets
new file mode 100644
index 00000000000..8cab7e9e521
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/bullets
@@ -0,0 +1,25 @@
+[name]
+Bullet handling
+
+[input]
+=over 4
+
+=item *
+
+A bullet.
+
+=item *
+
+Another bullet.
+
+=item * Also a bullet.
+
+=back
+
+[output]
+.IP "\(bu" 4
+A bullet.
+.IP "\(bu" 4
+Another bullet.
+.IP "\(bu" 4
+Also a bullet.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-header b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-header
new file mode 100644
index 00000000000..068363c01b3
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-header
@@ -0,0 +1,10 @@
+[name]
+C<> in headers
+
+[input]
+=head1 C<one> and C<two>
+
+[output]
+.ie n .SH """one"" and ""two"""
+.el .SH "\f(CWone\fP and \f(CWtwo\fP"
+.IX Header "one and two"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-name b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-name
new file mode 100644
index 00000000000..e17952d0d5a
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/c-in-name
@@ -0,0 +1,11 @@
+[name]
+C<> in NAME
+
+[input]
+=head1 NAME
+
+test - C<test>
+
+[output]
+.SH "NAME"
+test \- "test"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/dollar-magic b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/dollar-magic
new file mode 100644
index 00000000000..26347329713
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/dollar-magic
@@ -0,0 +1,24 @@
+[name]
+Magic for dollar strings
+
+[input]
+=head1 MAGIC MONEY
+
+These should be identical.
+
+Bippity boppity boo "The
+price is $Z<>100."
+
+Bippity boppity boo "The
+price is $100."
+
+[output]
+.SH "MAGIC MONEY"
+.IX Header "MAGIC MONEY"
+These should be identical.
+.PP
+Bippity boppity boo \*(L"The
+price is \f(CW$100\fR.\*(R"
+.PP
+Bippity boppity boo \*(L"The
+price is \f(CW$100\fR.\*(R"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-die b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-die
new file mode 100644
index 00000000000..48b9cac7950
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-die
@@ -0,0 +1,27 @@
+[name]
+Errors throw exceptions
+
+[options]
+errors die
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+
+[errors]
+Pod input around line 7: You forgot a '=back' before '=head1'
+
+[exception]
+POD document had syntax errors
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-none b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-none
new file mode 100644
index 00000000000..676fc401d53
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-none
@@ -0,0 +1,21 @@
+[name]
+Suppress errors
+
+[options]
+errors none
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-normal b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-normal
new file mode 100644
index 00000000000..cdd5d40e00b
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-normal
@@ -0,0 +1,24 @@
+[name]
+Normal error handling
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+.SH "POD ERRORS"
+.IX Header "POD ERRORS"
+Hey! \fBThe above document had some coding errors, which are explained below:\fR
+.IP "Around line 7:" 4
+.IX Item "Around line 7:"
+You forgot a '=back' before '=head1'
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-pod b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-pod
new file mode 100644
index 00000000000..44056539a47
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-pod
@@ -0,0 +1,27 @@
+[name]
+Errors to POD source
+
+[options]
+errors pod
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+.SH "POD ERRORS"
+.IX Header "POD ERRORS"
+Hey! \fBThe above document had some coding errors, which are explained below:\fR
+.IP "Around line 7:" 4
+.IX Item "Around line 7:"
+You forgot a '=back' before '=head1'
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr
new file mode 100644
index 00000000000..9effc9eef97
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr
@@ -0,0 +1,24 @@
+[name]
+Errors to standard error
+
+[options]
+errors stderr
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+
+[errors]
+Pod input around line 7: You forgot a '=back' before '=head1'
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr-opt b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr-opt
new file mode 100644
index 00000000000..e4e0cf8e195
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/error-stderr-opt
@@ -0,0 +1,24 @@
+[name]
+Errors to standard error with stderr option
+
+[options]
+stderr 1
+
+[input]
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+
+[output]
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+
+[errors]
+Pod input around line 7: You forgot a '=back' before '=head1'
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/eth b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/eth
new file mode 100644
index 00000000000..6583ccb1fda
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/eth
@@ -0,0 +1,10 @@
+[name]
+E<eth>
+
+[input]
+=pod
+
+E<eth>
+
+[output]
+\&\*(d-
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font
new file mode 100644
index 00000000000..f0b8524e715
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font
@@ -0,0 +1,18 @@
+[name]
+Options to set fixed fonts
+
+[options]
+fixed CR
+fixedbold CY
+fixeditalic CW
+fixedbolditalic CX
+
+[input]
+=head1 FIXED FONTS
+
+C<foo B<bar I<baz>> I<bay>>
+
+[output]
+.SH "FIXED FONTS"
+.IX Header "FIXED FONTS"
+\&\f(CR\*(C`foo \f(CYbar \f(CXbaz\f(CY\f(CR \f(CWbay\f(CR\*(C'\fR
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font-in-item b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font-in-item
new file mode 100644
index 00000000000..e096fd4cd61
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/fixed-font-in-item
@@ -0,0 +1,29 @@
+[name]
+Fixed-width font in item
+
+[input]
+=head1 Fixed-width Fonts in =item
+
+The nroff portion should not use fixed-width fonts. In podlators 4.06 and
+earlier, italic was terminated with \f(CW, which didn't properly stop italic.
+
+=over 2
+
+=item C<tar I<option>... [I<name>]...>
+
+=item C<tar I<letter>... [I<argument>]... [I<option>]... [I<name>]...>
+
+=back
+
+[output]
+.SH "Fixed-width Fonts in =item"
+.IX Header "Fixed-width Fonts in =item"
+The nroff portion should not use fixed-width fonts. In podlators 4.06 and
+earlier, italic was terminated with \ef(\s-1CW,\s0 which didn't properly stop italic.
+.ie n .IP """tar \fIoption\fP... [\fIname\fP]...""" 2
+.el .IP "\f(CWtar \f(CIoption\f(CW... [\f(CIname\f(CW]...\fR" 2
+.IX Item "tar option... [name]..."
+.PD 0
+.ie n .IP """tar \fIletter\fP... [\fIargument\fP]... [\fIoption\fP]... [\fIname\fP]...""" 2
+.el .IP "\f(CWtar \f(CIletter\f(CW... [\f(CIargument\f(CW]... [\f(CIoption\f(CW]... [\f(CIname\f(CW]...\fR" 2
+.IX Item "tar letter... [argument]... [option]... [name]..."
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/for-blocks b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/for-blocks
new file mode 100644
index 00000000000..5054f728b95
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/for-blocks
@@ -0,0 +1,33 @@
+[name]
+=for blocks
+
+[input]
+=pod
+
+Some text.
+
+=for man
+Some raw nroff.
+
+=for roff \fBBold text.\fP
+
+=for html
+Stuff that's hidden.
+
+=for MAN \fIItalic text.\fP
+
+=for ROFF
+.PP
+\&A paragraph.
+
+More text.
+
+[output]
+Some text.
+Some raw nroff.
+\fBBold text.\fP
+\fIItalic text.\fP
+.PP
+\&A paragraph.
+.PP
+More text.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/hyphen-in-s b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/hyphen-in-s
new file mode 100644
index 00000000000..dbadd44a5f0
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/hyphen-in-s
@@ -0,0 +1,14 @@
+[name]
+Hyphen in S<>
+
+[input]
+=head1 Hyphen in SE<lt>E<gt>
+
+Don't S<transform even-this hyphen>. This "one's-fine!", as well. However,
+$-0.13 should have a real hyphen.
+
+[output]
+.SH "Hyphen in S<>"
+.IX Header "Hyphen in S<>"
+Don't transform\ even-this\ hyphen. This \*(L"one's-fine!\*(R", as well. However,
+$\-0.13 should have a real hyphen.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/iso-8859-1 b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/iso-8859-1
new file mode 100644
index 00000000000..6486e7741ec
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/iso-8859-1
@@ -0,0 +1,28 @@
+[name]
+ISO-8859-1 encoding
+
+[input]
+=encoding iso-8859-1
+
+=head1 ACCENTS
+
+Beyoncé! Beyoncé! Beyoncé!!
+
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+
+Older versions didn't convert Beyoncé in verbatim.
+
+[output]
+.SH "ACCENTS"
+.IX Header "ACCENTS"
+Beyonce\*'! Beyonce\*'! Beyonce\*'!!
+.PP
+.Vb 3
+\& Beyonce\*'! Beyonce\*'!
+\& Beyonce\*'! Beyonce\*'!
+\& Beyonce\*'! Beyonce\*'!
+.Ve
+.PP
+Older versions didn't convert Beyonce\*' in verbatim.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/item-fonts b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/item-fonts
new file mode 100644
index 00000000000..e695cc3da39
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/item-fonts
@@ -0,0 +1,14 @@
+[name]
+Fonts in items
+
+[input]
+=over 4
+
+=item 1. Check fonts in @CARP_NOT test.
+
+=back
+
+[output]
+.ie n .IP "1. Check fonts in @CARP_NOT test." 4
+.el .IP "1. Check fonts in \f(CW@CARP_NOT\fR test." 4
+.IX Item "1. Check fonts in @CARP_NOT test."
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-quoting b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-quoting
new file mode 100644
index 00000000000..9f9157a38aa
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-quoting
@@ -0,0 +1,12 @@
+[name]
+Link quoting
+
+[input]
+=head1 LINK QUOTING
+
+There should not be double quotes: L<C<< (?>pattern) >>>.
+
+[output]
+.SH "LINK QUOTING"
+.IX Header "LINK QUOTING"
+There should not be double quotes: \f(CW\*(C`(?>pattern)\*(C'\fR.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-to-url b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-to-url
new file mode 100644
index 00000000000..7f81e3c7f82
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/link-to-url
@@ -0,0 +1,25 @@
+[name]
+Link to URL
+
+[input]
+=head1 LINK TO URL
+
+This is a L<link|http://www.example.com/> to a URL.
+
+The newest version of this document is also available on the World Wide Web at
+L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod>.
+
+=head1 RT LINK
+
+L<[perl #12345]|https://rt.cpan.org/12345>
+
+[output]
+.SH "LINK TO URL"
+.IX Header "LINK TO URL"
+This is a link <http://www.example.com/> to a \s-1URL.\s0
+.PP
+The newest version of this document is also available on the World Wide Web at
+<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.7.pod>.
+.SH "RT LINK"
+.IX Header "RT LINK"
+[perl #12345] <https://rt.cpan.org/12345>
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/long-quote b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/long-quote
new file mode 100644
index 00000000000..589dcb99eaf
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/long-quote
@@ -0,0 +1,16 @@
+[name]
+Long quotes option
+
+[options]
+quotes \(lq"\(rq"
+
+[input]
+=head1 FOO C<BAR> BAZ
+
+Foo C<bar> baz.
+
+[output]
+.ie n .SH "FOO \(lq""BAR\(rq"" BAZ"
+.el .SH "FOO \f(CWBAR\fP BAZ"
+.IX Header "FOO BAR BAZ"
+Foo \f(CW\*(C`bar\*(C'\fR baz.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-and-quote b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-and-quote
new file mode 100644
index 00000000000..def8fe3893d
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-and-quote
@@ -0,0 +1,17 @@
+[name]
+lquote and quotes both used
+
+[options]
+lquote ``
+quotes "
+
+[input]
+=head1 FOO C<BAR> BAZ
+
+Foo C<bar> baz.
+
+[output]
+.ie n .SH "FOO ``BAR"" BAZ"
+.el .SH "FOO \f(CWBAR\fP BAZ"
+.IX Header "FOO BAR BAZ"
+Foo \f(CW\*(C`bar\*(C'\fR baz.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-rquote b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-rquote
new file mode 100644
index 00000000000..481e5451fdb
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/lquote-rquote
@@ -0,0 +1,17 @@
+[name]
+Set separate left and right quotes
+
+[options]
+lquote ``
+rquote "
+
+[input]
+=head1 FOO C<BAR> BAZ
+
+Foo C<bar> baz.
+
+[output]
+.ie n .SH "FOO ``BAR"" BAZ"
+.el .SH "FOO \f(CWBAR\fP BAZ"
+.IX Header "FOO BAR BAZ"
+Foo \f(CW\*(C`bar\*(C'\fR baz.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/markup-in-name b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/markup-in-name
new file mode 100644
index 00000000000..de27acddf17
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/markup-in-name
@@ -0,0 +1,11 @@
+[name]
+Various markup in NAME
+
+[input]
+=head1 NAME
+
+test - B<test> I<italics> F<file>
+
+[output]
+.SH "NAME"
+test \- test italics file
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/multiline-x b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/multiline-x
new file mode 100644
index 00000000000..641e4a49d33
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/multiline-x
@@ -0,0 +1,14 @@
+[name]
+Multiline X<>
+
+[input]
+=head1 Multiline XZ<><>
+
+Something something X<this is
+one index term>
+
+[output]
+.SH "Multiline X<>"
+.IX Header "Multiline X<>"
+Something something
+.IX Xref "this is one index term"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/name-guesswork b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/name-guesswork
new file mode 100644
index 00000000000..6eecd9a36ef
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/name-guesswork
@@ -0,0 +1,18 @@
+[name]
+No guesswork in NAME
+
+[input]
+=head1 NAME
+
+"Stuff" (no guesswork)
+
+=head2 THINGS
+
+Oboy, is this C++ "fun" yet! (guesswork)
+
+[output]
+.SH "NAME"
+"Stuff" (no guesswork)
+.SS "\s-1THINGS\s0"
+.IX Subsection "THINGS"
+Oboy, is this \*(C+ \*(L"fun\*(R" yet! (guesswork)
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nested-lists b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nested-lists
new file mode 100644
index 00000000000..45d4a58095a
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nested-lists
@@ -0,0 +1,30 @@
+[name]
+Nested lists
+
+[input]
+=over
+
+=item First level
+
+Blah blah blah....
+
+=over
+
+=item *
+
+Should be a bullet.
+
+=back
+
+=back
+
+[output]
+.IP "First level" 4
+.IX Item "First level"
+Blah blah blah....
+.RS 4
+.IP "\(bu" 4
+Should be a bullet.
+.RE
+.RS 4
+.RE
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/newlines-in-c b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/newlines-in-c
new file mode 100644
index 00000000000..c053c4b4ef5
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/newlines-in-c
@@ -0,0 +1,14 @@
+[name]
+Quoting with C<> and newlines
+
+[input]
+=head1 Newline C Quote Weirdness
+
+Blorp C<'
+''>. Yes.
+
+[output]
+.SH "Newline C Quote Weirdness"
+.IX Header "Newline C Quote Weirdness"
+Blorp \f(CW\*(Aq
+\&\*(Aq\*(Aq\fR. Yes.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/non-ascii b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/non-ascii
new file mode 100644
index 00000000000..739690f9acc
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/non-ascii
@@ -0,0 +1,12 @@
+[name]
+Non-ASCII character
+
+[input]
+=head1 YEN
+
+It cost me E<165>12345! That should be an X.
+
+[output]
+.SH "YEN"
+.IX Header "YEN"
+It cost me X12345! That should be an X.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-bullet b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-bullet
new file mode 100644
index 00000000000..8b468f0f02b
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-bullet
@@ -0,0 +1,15 @@
+[name]
+Escaped bullet
+
+[input]
+=over 4
+
+=item Z<>*
+
+Not bullet.
+
+=back
+
+[output]
+.IP "*" 4
+Not bullet.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-numbers b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-numbers
new file mode 100644
index 00000000000..ecb48f1094f
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/not-numbers
@@ -0,0 +1,30 @@
+[name]
+Lists not parsed as numbers
+
+[input]
+=over 4
+
+=item 1. Not a number
+
+=item 2. Spaced right
+
+=back
+
+=over 2
+
+=item 1 Not a number
+
+=item 2 Spaced right
+
+=back
+
+[output]
+.IP "1. Not a number" 4
+.IX Item "1. Not a number"
+.PD 0
+.IP "2. Spaced right" 4
+.IX Item "2. Spaced right"
+.IP "1 Not a number" 2
+.IX Item "1 Not a number"
+.IP "2 Spaced right" 2
+.IX Item "2 Spaced right"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nourls b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nourls
new file mode 100644
index 00000000000..ddbdc4b946c
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/nourls
@@ -0,0 +1,15 @@
+[name]
+nourls option
+
+[options]
+nourls 1
+
+[input]
+=head1 URL suppression
+
+L<anchor|http://www.example.com/>
+
+[output]
+.SH "URL suppression"
+.IX Header "URL suppression"
+anchor
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/paired-quotes b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/paired-quotes
new file mode 100644
index 00000000000..f81ed8a2a4a
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/paired-quotes
@@ -0,0 +1,20 @@
+[name]
+Paired quotes
+
+[input]
+=head1 SEQS
+
+"=over ... Z<>=back"
+
+"SE<lt>...E<gt>"
+
+The quotes should be converted in the above to paired quotes.
+
+[output]
+.SH "SEQS"
+.IX Header "SEQS"
+\&\*(L"=over ... =back\*(R"
+.PP
+\&\*(L"S<...>\*(R"
+.PP
+The quotes should be converted in the above to paired quotes.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/periods b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/periods
new file mode 100644
index 00000000000..afdea425d2c
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/periods
@@ -0,0 +1,12 @@
+[name]
+Quoted periods
+
+[input]
+=head1 PERIODS
+
+This C<.> should be quoted.
+
+[output]
+.SH "PERIODS"
+.IX Header "PERIODS"
+This \f(CW\*(C`.\*(C'\fR should be quoted.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/quote-escaping b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/quote-escaping
new file mode 100644
index 00000000000..9f0a5946f6b
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/quote-escaping
@@ -0,0 +1,12 @@
+[name]
+Quote escaping
+
+[input]
+=head1 Quote escaping
+
+Don't escape `this' but do escape C<`this'> (and don't surround it in quotes).
+
+[output]
+.SH "Quote escaping"
+.IX Header "Quote escaping"
+Don't escape `this' but do escape \f(CW\`this\*(Aq\fR (and don't surround it in quotes).
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/rquote-none b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/rquote-none
new file mode 100644
index 00000000000..3de38293f65
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/rquote-none
@@ -0,0 +1,16 @@
+[name]
+rquote set to none
+
+[options]
+rquote none
+
+[input]
+=head1 FOO C<BAR> BAZ
+
+Foo C<bar> baz.
+
+[output]
+.ie n .SH "FOO ""BAR BAZ"
+.el .SH "FOO \f(CWBAR\fP BAZ"
+.IX Header "FOO BAR BAZ"
+Foo \f(CW\*(C`bar\*(C'\fR baz.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/small-caps-magic b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/small-caps-magic
new file mode 100644
index 00000000000..bb5fea6c075
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/small-caps-magic
@@ -0,0 +1,12 @@
+[name]
+Small caps and unbreakable magic
+
+[input]
+=head1 SE<lt>E<gt> MAGIC
+
+Magic should be applied S<RISC OS> to that.
+
+[output]
+.SH "S<> MAGIC"
+.IX Header "S<> MAGIC"
+Magic should be applied \s-1RISC\s0\ \s-1OS\s0 to that.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/soft-hyphens b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/soft-hyphens
new file mode 100644
index 00000000000..90447679dbb
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/soft-hyphens
@@ -0,0 +1,40 @@
+[name]
+Soft hyphens
+
+[input]
+=head1 Soft Hyphen Testing
+
+sigE<shy>action
+manuE<shy>script
+JarkE<shy>ko HieE<shy>taE<shy>nieE<shy>mi
+
+And again:
+
+sigE<173>action
+manuE<173>script
+JarkE<173>ko HieE<173>taE<173>nieE<173>mi
+
+And one more time:
+
+sigE<0x00AD>action
+manuE<0x00AD>script
+JarkE<0x00AD>ko HieE<0x00AD>taE<0x00AD>nieE<0x00AD>mi
+
+[output]
+.SH "Soft Hyphen Testing"
+.IX Header "Soft Hyphen Testing"
+sig\%action
+manu\%script
+Jark\%ko Hie\%ta\%nie\%mi
+.PP
+And again:
+.PP
+sig\%action
+manu\%script
+Jark\%ko Hie\%ta\%nie\%mi
+.PP
+And one more time:
+.PP
+sig\%action
+manu\%script
+Jark\%ko Hie\%ta\%nie\%mi
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/trailing-space b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/trailing-space
new file mode 100644
index 00000000000..32c755e55c2
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/trailing-space
@@ -0,0 +1,20 @@
+[name]
+Trailing protected space
+
+[input]
+=head1 TRAILING SPACE
+
+HelloS< >
+
+worldS< >
+
+.
+
+[output]
+.SH "TRAILING SPACE"
+.IX Header "TRAILING SPACE"
+Hello\
+.PP
+world\ \ \
+.PP
+\&.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/true-false b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/true-false
new file mode 100644
index 00000000000..6f0e4e0f3cf
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/true-false
@@ -0,0 +1,16 @@
+[name]
+TRUE (1) and FALSE (0)
+
+[input]
+=head1 TRUE (1)
+
+podlators prior to 4.08 misrendered TRUE (1) and FALSE (0) with escaped nroff
+in the output because it tried to apply both small caps and man page reference
+code and got it wrong.
+
+[output]
+.SH "TRUE (1)"
+.IX Header "TRUE (1)"
+podlators prior to 4.08 misrendered \s-1TRUE\s0 (1) and \s-1FALSE\s0 (0) with escaped nroff
+in the output because it tried to apply both small caps and man page reference
+code and got it wrong.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/uppercase-license b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/uppercase-license
new file mode 100644
index 00000000000..4c02452f064
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/uppercase-license
@@ -0,0 +1,24 @@
+[name]
+Uppercase license text
+
+[input]
+=head1 Uppercase License
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[output]
+.SH "Uppercase License"
+.IX Header "Uppercase License"
+\&\s-1THE SOFTWARE IS PROVIDED \*(L"AS IS\*(R", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\s0
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace
new file mode 100644
index 00000000000..367b29ee155
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace
@@ -0,0 +1,13 @@
+[name]
+Whitespace around X<>
+
+[input]
+=head1 XE<lt>E<gt> Whitespace
+
+Blorpy L<B<prok>|blap> X<bivav> wugga chachacha.
+
+[output]
+.SH "X<> Whitespace"
+.IX Header "X<> Whitespace"
+Blorpy \fBprok\fR wugga chachacha.
+.IX Xref "bivav"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace-entry b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace-entry
new file mode 100644
index 00000000000..8ec01ace0bd
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/data/snippets/man/x-whitespace-entry
@@ -0,0 +1,13 @@
+[name]
+X<> matching whitespace
+
+[input]
+=head1 INDEX
+
+Index entry matching a whitespace escape.X<\n>
+
+[output]
+.SH "INDEX"
+.IX Header "INDEX"
+Index entry matching a whitespace escape.
+.IX Xref "\\n"
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/docs/pod-spelling.t b/gnu/usr.bin/perl/cpan/podlators/t/docs/pod-spelling.t
index 6debd420277..dc11b9cf923 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/docs/pod-spelling.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/docs/pod-spelling.t
@@ -3,7 +3,7 @@
# Check for spelling errors in POD documentation.
#
# The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
#
# Written by Russ Allbery <eagle@eyrie.org>
# Copyright 2013, 2014
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/docs/pod.t b/gnu/usr.bin/perl/cpan/podlators/t/docs/pod.t
index 674ce300940..2ef7bf07c7a 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/docs/pod.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/docs/pod.t
@@ -3,7 +3,7 @@
# Check all POD documents for POD formatting errors.
#
# The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
#
# Written by Russ Allbery <eagle@eyrie.org>
# Copyright 2012, 2013, 2014
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/docs/synopsis.t b/gnu/usr.bin/perl/cpan/podlators/t/docs/synopsis.t
index 3cdcbab21cb..384e407b7e7 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/docs/synopsis.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/docs/synopsis.t
@@ -3,7 +3,7 @@
# Check the SYNOPSIS section of the documentation for syntax errors.
#
# The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
#
# Written by Russ Allbery <eagle@eyrie.org>
# Copyright 2013, 2014
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/Podlators.pm b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/Podlators.pm
index 3111d40be62..63795b1ef02 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/Podlators.pm
+++ b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/Podlators.pm
@@ -31,7 +31,7 @@ our (@EXPORT_OK, @ISA, $VERSION);
# consistency is good).
BEGIN {
@ISA = qw(Exporter);
- $VERSION = '2.00';
+ $VERSION = '2.01';
@EXPORT_OK = qw(
read_snippet read_test_data slurp test_snippet test_snippet_with_io
);
@@ -93,7 +93,8 @@ sub _stderr_restore {
# Read one test snippet from the provided relative file name and return it.
# For the format, see t/data/snippets/README.
#
-# $path - Relative path to read test data from
+# $path - Relative path to read test data from
+# $encoding - Encoding of snippet (UTF-8 if not specified)
#
# Returns: Reference to hash of test data with the following keys:
# name - Name of the test for status reporting
@@ -103,15 +104,16 @@ sub _stderr_restore {
# errors - Expected errors
# exception - Text of exception (with file and line stripped)
sub read_snippet {
- my ($path) = @_;
+ my ($path, $encoding) = @_;
$path = File::Spec->catfile('t', 'data', 'snippets', $path);
+ $encoding ||= 'UTF-8';
my %data;
# Read the sections and store them in the %data hash.
my ($line, $section);
open(my $fh, '<', $path) or BAIL_OUT("cannot open $path: $!");
while (defined($line = <$fh>)) {
- $line = decode('UTF-8', $line);
+ $line = decode($encoding, $line);
if ($line =~ m{ \A \s* \[ (\S+) \] \s* \z }xms) {
$section = $1;
} elsif ($section) {
@@ -246,11 +248,14 @@ sub slurp {
# loading the snippet, creating the formatter, running it, and checking the
# results, and reports those results with Test::More.
#
-# $class - Class name of the formatter, as a string
-# $snippet - Path to the snippet file defining the test
+# $class - Class name of the formatter, as a string
+# $snippet - Path to the snippet file defining the test
+# $options_ref - Hash of options with the following keys:
+# encoding - Set to use a non-standard encoding
sub test_snippet {
- my ($class, $snippet) = @_;
- my $data_ref = read_snippet($snippet);
+ my ($class, $snippet, $options_ref) = @_;
+ my $encoding = defined($options_ref) ? $options_ref->{encoding} : undef;
+ my $data_ref = read_snippet($snippet, $encoding);
# Create the formatter object.
my $parser = $class->new(%{ $data_ref->{options} }, name => 'TEST');
@@ -278,7 +283,7 @@ sub test_snippet {
}
if ($data_ref->{exception} || $exception) {
if ($exception) {
- $exception =~ s{ [ ] at [ ] .* }{}xms;
+ $exception =~ s{ [ ] at [ ] .* }{\n}xms;
}
is($exception, $data_ref->{exception}, "$data_ref->{name}: exception");
}
@@ -391,14 +396,14 @@ should be explicitly imported.
=over 4
-=item read_snippet(PATH[, OPTIONS])
+=item read_snippet(PATH[, ENCODING])
Read one test snippet from the provided relative file name and return it. The
path should be relative to F<t/data/snippets>. For the format, see
F<t/data/snippets/README>.
-OPTIONS, if present, is a hash that currently supports only one key: C<utf8>,
-to set a PerlIO input encoding layer of UTF-8 when reading the snippet.
+ENCODING, if present, specifies the encoding of the snippet. If not given,
+the snippet is assumed to be encoded in C<UTF-8>.
The result will be a hash with the following keys:
@@ -476,20 +481,24 @@ The output data for the test. This is always present.
Read the contents of FILE and return it as a string. If STRIP is set to
C<man>, strip off any Pod::Man header from the file before returning it.
-=item test_snippet(CLASS, SNIPPET)
+=item test_snippet(CLASS, SNIPPET[, OPTIONS])
Test a formatter on a particular POD snippet. This does all the work of
loading the snippet, creating the formatter by instantiating CLASS, running
it, and checking the results. Results are reported with Test::More.
+OPTIONS, if present, is a reference to a hash of options. Currently, only
+one key is supported: C<encoding>, which, if set, specifies the encoding of
+the snippet.
+
=item test_snippet_with_io(CLASS, SNIPPET[, OPTIONS])
The same as test_snippet(), except, rather than parsing the input into a
string buffer, this function uses real, temporary input and output files.
This can be used to test I/O layer handling and proper encoding.
-OPTIONS, if present, is a reference to a hash of options. Currently, only
-one key is supported: C<perlio>, which, if set to true, will set a PerlIO
+OPTIONS, if present, is a reference to a hash of options. Currently, only one
+key is supported: C<perlio_utf8>, which, if set to true, will set a PerlIO
UTF-8 encoding layer on the output file before writing to it.
=back
@@ -500,7 +509,7 @@ Russ Allbery <rra@cpan.org>
=head1 COPYRIGHT AND LICENSE
-Copyright 2015 Russ Allbery <rra@cpan.org>
+Copyright 2015, 2016 Russ Allbery <rra@cpan.org>
This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA.pm b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA.pm
index 7e795152576..bbdb2b0213b 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA.pm
+++ b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA.pm
@@ -13,6 +13,7 @@ use strict;
use warnings;
use Exporter;
+use File::Temp;
use Test::More;
# For Perl 5.006 compatibility.
@@ -26,12 +27,56 @@ our (@EXPORT_OK, @ISA, $VERSION);
# consistency is good).
BEGIN {
@ISA = qw(Exporter);
- @EXPORT_OK = qw(skip_unless_author skip_unless_automated use_prereq);
+ @EXPORT_OK = qw(
+ is_file_contents skip_unless_author skip_unless_automated use_prereq
+ );
# This version should match the corresponding rra-c-util release, but with
# two digits for the minor version, including a leading zero if necessary,
# so that it will sort properly.
- $VERSION = '5.09';
+ $VERSION = '6.03';
+}
+
+# Compare a string to the contents of a file, similar to the standard is()
+# function, but to show the line-based unified diff between them if they
+# differ.
+#
+# $got - The output that we received
+# $expected - The path to the file containing the expected output
+# $message - The message to use when reporting the test results
+#
+# Returns: undef
+# Throws: Exception on failure to read or write files or run diff
+sub is_file_contents {
+ my ($got, $expected, $message) = @_;
+
+ # If they're equal, this is simple.
+ open(my $fh, '<', $expected) or BAIL_OUT("Cannot open $expected: $!\n");
+ my $data = do { local $/ = undef; <$fh> };
+ close($fh) or BAIL_OUT("Cannot close $expected: $!\n");
+ if ($got eq $data) {
+ is($got, $data, $message);
+ return;
+ }
+
+ # Otherwise, we show a diff, but only if we have IPC::System::Simple.
+ eval { require IPC::System::Simple };
+ if ($@) {
+ ok(0, $message);
+ return;
+ }
+
+ # They're not equal. Write out what we got so that we can run diff.
+ my $tmp = File::Temp->new();
+ my $tmpname = $tmp->filename;
+ print {$tmp} $got or BAIL_OUT("Cannot write to $tmpname: $!\n");
+ my @command = ('diff', '-u', $expected, $tmpname);
+ my $diff = IPC::System::Simple::capturex([0 .. 1], @command);
+ diag($diff);
+
+ # Remove the temporary file and report failure.
+ ok(0, $message);
+ return;
}
# Skip this test unless author tests are requested. Takes a short description
@@ -225,7 +270,7 @@ SOFTWARE.
Test::More(3), Test::RRA::Automake(3), Test::RRA::Config(3)
This module is maintained in the rra-c-util package. The current version is
-available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
The functions to control when tests are run use environment variables defined
by the L<Lancaster
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/Config.pm b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/Config.pm
index ffdfc0840a5..7390ffa7344 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/Config.pm
+++ b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/Config.pm
@@ -34,16 +34,16 @@ BEGIN {
# This version should match the corresponding rra-c-util release, but with
# two digits for the minor version, including a leading zero if necessary,
# so that it will sort properly.
- $VERSION = '5.09';
+ $VERSION = '6.03';
}
-# If BUILD or SOURCE are set in the environment, look for data/perl.conf under
-# those paths for a C Automake package. Otherwise, look in t/data/perl.conf
-# for a standalone Perl module or tests/data/perl.conf for Perl tests embedded
-# in a larger distribution. Don't use Test::RRA::Automake since it may not
-# exist.
+# If C_TAP_BUILD or C_TAP_SOURCE are set in the environment, look for
+# data/perl.conf under those paths for a C Automake package. Otherwise, look
+# in t/data/perl.conf for a standalone Perl module or tests/data/perl.conf for
+# Perl tests embedded in a larger distribution. Don't use Test::RRA::Automake
+# since it may not exist.
our $PATH;
-for my $base ($ENV{BUILD}, $ENV{SOURCE}, 't', 'tests') {
+for my $base ($ENV{C_TAP_BUILD}, $ENV{C_TAP_SOURCE}, './t', './tests') {
next if !defined($base);
my $path = "$base/data/perl.conf";
if (-r $path) {
@@ -70,7 +70,7 @@ our @STRICT_PREREQ;
# Load the configuration.
if (!do($PATH)) {
my $error = $@ || $! || 'loading file did not return true';
- BAIL_OUT("cannot load data/perl.conf: $error");
+ BAIL_OUT("cannot load $PATH: $error");
}
1;
@@ -98,10 +98,10 @@ for both C Automake packages and stand-alone Perl modules.
Test::RRA::Config looks for a file named F<data/perl.conf> relative to the
root of the test directory. That root is taken from the environment variables
-BUILD or SOURCE (in that order) if set, which will be the case for C Automake
-packages using C TAP Harness. If neither is set, it expects the root of the
-test directory to be a directory named F<t> relative to the current directory,
-which will be the case for stand-alone Perl modules.
+C_TAP_BUILD or C_TAP_SOURCE (in that order) if set, which will be the case for
+C Automake packages using C TAP Harness. If neither is set, it expects the
+root of the test directory to be a directory named F<t> relative to the
+current directory, which will be the case for stand-alone Perl modules.
The following variables are supported:
@@ -185,6 +185,8 @@ Russ Allbery <eagle@eyrie.org>
=head1 COPYRIGHT AND LICENSE
+Copyright 2015, 2016 Russ Allbery <eagle@eyrie.org>
+
Copyright 2013, 2014 The Board of Trustees of the Leland Stanford Junior
University
@@ -212,9 +214,9 @@ perlcritic(1), Test::MinimumVersion(3), Test::RRA(3), Test::RRA::Automake(3),
Test::Strict(3)
This module is maintained in the rra-c-util package. The current version is
-available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
The C TAP Harness test driver and libraries for TAP-based C testing are
-available from L<http://www.eyrie.org/~eagle/software/c-tap-harness/>.
+available from L<https://www.eyrie.org/~eagle/software/c-tap-harness/>.
=cut
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm
index 2d779845eb0..c4e82bce73f 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm
+++ b/gnu/usr.bin/perl/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm
@@ -31,7 +31,7 @@ BEGIN {
# This version should match the corresponding rra-c-util release, but with
# two digits for the minor version, including a leading zero if necessary,
# so that it will sort properly.
- $VERSION = '5.09';
+ $VERSION = '6.03';
}
# A regular expression matching the version string for a module using the
@@ -290,6 +290,6 @@ SOFTWARE.
Test::More(3), Test::RRA::Config(3)
This module is maintained in the rra-c-util package. The current version
-is available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+is available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
=cut
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/man/devise-title.t b/gnu/usr.bin/perl/cpan/podlators/t/man/devise-title.t
index afdd550352d..45f3fca3a52 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/man/devise-title.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/man/devise-title.t
@@ -30,11 +30,11 @@ my $output;
$parser->output_string(\$output);
$parser->parse_file($handle);
-# Check the results of devise_title for this. We should get back STDIN, and
-# we should have reported an error.
+# Check the results of devise_title for this. We should get back STDIN and
+# not report an error.
my ($name, $section) = $parser->devise_title;
is($name, 'STDIN', 'devise_title uses STDIN for file handle input');
-ok($parser->errors_seen, '...and errors were seen');
+ok(!$parser->errors_seen, '...and no errors were seen');
# Now check handling of a simple file name with no parent directory, which
# simulates a POD file at the top of a distribution. In podlators 4.06, this
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/man/empty.t b/gnu/usr.bin/perl/cpan/podlators/t/man/empty.t
index 613b339b5b0..3b70f82662c 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/man/empty.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/man/empty.t
@@ -1,54 +1,66 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
#
-# man-empty.t -- Test Pod::Man with a document that produces only errors.
+# Test Pod::Man with a document that produces only errors.
#
-# Copyright 2013 Russ Allbery <rra@cpan.org>
+# Copyright 2013, 2016 Russ Allbery <rra@cpan.org>
#
# This program is free software; you may redistribute it and/or modify it
# under the same terms as Perl itself.
-BEGIN {
- chdir 't' if -d 't';
- if ($ENV{PERL_CORE}) {
- @INC = '../lib';
- }
- unshift (@INC, '../blib/lib');
- $| = 1;
-}
-
+use 5.006;
use strict;
+use warnings;
use Test::More tests => 8;
-BEGIN { use_ok ('Pod::Man') }
+
+# Load the module.
+BEGIN {
+ use_ok('Pod::Man');
+}
# Set up Pod::Man to output to a string.
my $parser = Pod::Man->new;
-isa_ok ($parser, 'Pod::Man');
+isa_ok($parser, 'Pod::Man');
my $output;
-$parser->output_string (\$output);
-
-# Try a POD document where the only command is invalid. With recent
-# Pod::Simple, there will be a POD ERRORS section. With older versions of
-# Pod::Simple, we have to skip the test since it doesn't trigger this problem.
-# Be sure that we don't get any warnings as well as any errors.
-local $SIG{__WARN__} = sub { die $_[0] };
-ok (eval { $parser->parse_string_document("=\xa0") },
+$parser->output_string(\$output);
+
+# Ensure there are no warnings by dying on a warning, forcing a test failure.
+local $SIG{__WARN__} = sub { croak($_[0]) };
+
+# Try a POD document where the only command is invalid. Make sure it succeeds
+# and doesn't throw an exception.
+## no critic (ValuesAndExpressions::ProhibitEscapedCharacters)
+ok(eval { $parser->parse_string_document("=\xa0") },
'Parsed invalid document');
-is ($@, '', '...with no errors');
+is($@, q{}, '...with no errors');
+## use critic
+
+# With recent Pod::Simple, there will be a POD ERRORS section. With older
+# versions of Pod::Simple, we have to skip the test since it doesn't trigger
+# this problem.
SKIP: {
- skip 'Pod::Simple does not produce errors for invalid commands', 1
- if $output eq q{};
- like ($output, qr{\.SH \"POD ERRORS\"},
- '...and output contains a POD ERRORS section');
+ if ($output eq q{}) {
+ skip('Pod::Simple does not produce errors for invalid commands', 1);
+ }
+ like(
+ $output,
+ qr{ [.]SH [ ] "POD [ ] ERRORS" }xms,
+ '...and output contains a POD ERRORS section'
+ );
}
# Try with a document containing only =cut.
-ok (eval { $parser->parse_string_document("=cut") },
- 'Parsed invalid document');
-is ($@, '', '...with no errors');
+ok(eval { $parser->parse_string_document('=cut') }, 'Parsed =cut document');
+is($@, q{}, '...with no errors');
+
+# Same check for a POD ERRORS section.
SKIP: {
- skip 'Pod::Simple does not produce errors for invalid commands', 1
- if $output eq q{};
- like ($output, qr{\.SH \"POD ERRORS\"},
- '...and output contains a POD ERRORS section');
+ if ($output eq q{}) {
+ skip('Pod::Simple does not produce errors for invalid commands', 1);
+ }
+ like(
+ $output,
+ qr{ [.]SH [ ] "POD [ ] ERRORS" }xms,
+ '...and output contains a POD ERRORS section'
+ );
}
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/man/iso-8859-1.t b/gnu/usr.bin/perl/cpan/podlators/t/man/iso-8859-1.t
new file mode 100644
index 00000000000..0c1dac38bef
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/man/iso-8859-1.t
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+#
+# Test Pod::Man ISO-8859-1 handling
+#
+# Copyright 2016 Russ Allbery <rra@cpan.org>
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use 5.006;
+use strict;
+use warnings;
+
+use lib 't/lib';
+
+use Test::More tests => 3;
+use Test::Podlators qw(test_snippet);
+
+# Load the module.
+BEGIN {
+ use_ok('Pod::Man');
+}
+
+# Test the snippet with the proper encoding.
+test_snippet('Pod::Man', 'man/iso-8859-1', { encoding => 'iso-8859-1' });
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/man/snippets.t b/gnu/usr.bin/perl/cpan/podlators/t/man/snippets.t
new file mode 100644
index 00000000000..4fa197a7aab
--- /dev/null
+++ b/gnu/usr.bin/perl/cpan/podlators/t/man/snippets.t
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+#
+# Test Pod::Man behavior with various snippets.
+#
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012, 2013, 2015, 2016
+# Russ Allbery <rra@cpan.org>
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use 5.006;
+use strict;
+use warnings;
+
+use lib 't/lib';
+
+use Test::More tests => 93;
+use Test::Podlators qw(test_snippet);
+
+# Load the module.
+BEGIN {
+ use_ok('Pod::Man');
+}
+
+# List of snippets run by this test.
+my @snippets = qw(
+ agrave backslash-man-ref bullet-after-nonbullet bullets c-in-header
+ c-in-name dollar-magic error-die error-none error-normal
+ error-pod error-stderr error-stderr-opt eth fixed-font fixed-font-in-item
+ for-blocks hyphen-in-s item-fonts link-quoting link-to-url long-quote
+ lquote-and-quote lquote-rquote markup-in-name multiline-x name-guesswork
+ nested-lists newlines-in-c non-ascii not-bullet not-numbers nourls
+ paired-quotes periods quote-escaping rquote-none small-caps-magic
+ soft-hyphens trailing-space true-false uppercase-license x-whitespace
+ x-whitespace-entry
+);
+
+# Run all the tests.
+for my $snippet (@snippets) {
+ test_snippet('Pod::Man', "man/$snippet");
+}
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/style/minimum-version.t b/gnu/usr.bin/perl/cpan/podlators/t/style/minimum-version.t
index e4eeafd2096..c7f06898b23 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/style/minimum-version.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/style/minimum-version.t
@@ -3,7 +3,7 @@
# Check that too-new features of Perl are not being used.
#
# The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
#
# Written by Russ Allbery <eagle@eyrie.org>
# Copyright 2013, 2014
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/style/module-version.t b/gnu/usr.bin/perl/cpan/podlators/t/style/module-version.t
index 125f8a2dd39..021095ded2f 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/style/module-version.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/style/module-version.t
@@ -144,6 +144,6 @@ SOFTWARE.
=head1 SEE ALSO
This module is maintained in the rra-c-util package. The current version
-is available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+is available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
=cut
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/style/strict.t b/gnu/usr.bin/perl/cpan/podlators/t/style/strict.t
index 7137b152261..5f667b94a17 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/style/strict.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/style/strict.t
@@ -3,9 +3,10 @@
# Test Perl code for strict, warnings, and syntax.
#
# The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
#
# Written by Russ Allbery <eagle@eyrie.org>
+# Copyright 2016 Russ Allbery <eagle@eyrie.org>
# Copyright 2013, 2014
# The Board of Trustees of the Leland Stanford Junior University
#
@@ -39,8 +40,9 @@ use Test::RRA qw(skip_unless_automated use_prereq);
# Skip for normal user installs since this doesn't affect functionality.
skip_unless_automated('Strictness tests');
-# Load prerequisite modules.
-use_prereq('Test::Strict');
+# Load prerequisite modules. At least 0.25 is needed to recognize that having
+# use 5.012 or later automatically implies use strict.
+use_prereq('Test::Strict', '0.25');
# Test everything in the distribution directory except the Build and
# Makefile.PL scripts generated by Module::Build. We also want to check use
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/text/options.t b/gnu/usr.bin/perl/cpan/podlators/t/text/options.t
index 3338aa63c2a..ab9350c7f04 100644
--- a/gnu/usr.bin/perl/cpan/podlators/t/text/options.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/text/options.t
@@ -71,7 +71,7 @@ while (<DATA>) {
last if $_ eq "###\n";
$expected .= $_;
}
- is ($output, $expected, "Ouput correct for test $n");
+ is ($output, $expected, "Output correct for test $n");
open (ERR, "out$$.err") or die "Cannot open out$$.err: $!\n";
my $errors;
{