2164a7574839a32eec36e2e1b10f6f30b1624193
[perl.git] / cpan / podlators / t / text-empty.t
1 #!/usr/bin/perl -w
2 #
3 # text-empty.t -- Test Pod::Text with a document that produces only errors.
4 #
5 # Copyright 2013 Russ Allbery <rra@stanford.edu>
6 #
7 # This program is free software; you may redistribute it and/or modify it
8 # under the same terms as Perl itself.
9
10 BEGIN {
11     chdir 't' if -d 't';
12     if ($ENV{PERL_CORE}) {
13         @INC = '../lib';
14     }
15     unshift (@INC, '../blib/lib');
16     $| = 1;
17 }
18
19 use strict;
20
21 use Test::More tests => 8;
22 BEGIN { use_ok ('Pod::Text') }
23
24 # Set up Pod::Text to output to a string.
25 my $parser = Pod::Text->new;
26 isa_ok ($parser, 'Pod::Text');
27 my $output;
28 $parser->output_string (\$output);
29
30 # Try a POD document where the only command is invalid.  Be sure that we don't
31 # get any warnings as well as any errors.
32 local $SIG{__WARN__} = sub { die $_[0] };
33 ok (eval { $parser->parse_string_document("=\xa0") },
34     'Parsed invalid document');
35 is ($@, '', '...with no errors');
36 SKIP: {
37     skip 'Pod::Simple does not produce errors for invalid commands', 1
38         if $output eq q{};
39     like ($output, qr{POD ERRORS},
40           '...and output contains a POD ERRORS section');
41 }
42
43 # Try with a document containing only =cut.
44 ok (eval { $parser->parse_string_document("=cut") },
45     'Parsed invalid document');
46 is ($@, '', '...with no errors');
47 SKIP: {
48     skip 'Pod::Simple does not produce errors for invalid commands', 1
49         if $output eq q{};
50     like ($output, qr{POD ERRORS},
51           '...and output contains a POD ERRORS section');
52 }