Update podlators to version 4.03
[perl.git] / cpan / podlators / t / docs / pod-spelling.t
1 #!/usr/bin/perl
2 #
3 # Check for spelling errors in POD documentation.
4 #
5 # The canonical version of this file is maintained in the rra-c-util package,
6 # which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
7 #
8 # Written by Russ Allbery <eagle@eyrie.org>
9 # Copyright 2013, 2014
10 #     The Board of Trustees of the Leland Stanford Junior University
11 #
12 # Permission is hereby granted, free of charge, to any person obtaining a
13 # copy of this software and associated documentation files (the "Software"),
14 # to deal in the Software without restriction, including without limitation
15 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 # and/or sell copies of the Software, and to permit persons to whom the
17 # Software is furnished to do so, subject to the following conditions:
18 #
19 # The above copyright notice and this permission notice shall be included in
20 # all copies or substantial portions of the Software.
21 #
22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
25 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 # DEALINGS IN THE SOFTWARE.
29
30 use 5.006;
31 use strict;
32 use warnings;
33
34 use lib 't/lib';
35
36 use Test::More;
37 use Test::RRA qw(skip_unless_author use_prereq);
38
39 # Only run this test for the module author since the required stopwords are
40 # too sensitive to the exact spell-checking program and dictionary.
41 skip_unless_author('Spelling tests');
42
43 # Load prerequisite modules.
44 use_prereq('Test::Spelling');
45
46 # Check all POD in the Perl distribution.  Add the examples directory if it
47 # exists.  Also add any files in usr/bin or usr/sbin, which are widely used in
48 # Stanford-internal packages.
49 my @files = all_pod_files();
50 if (-d 'examples') {
51     push(@files, all_pod_files('examples'));
52 }
53 for my $dir (qw(usr/bin usr/sbin)) {
54     if (-d $dir) {
55         push(@files, glob("$dir/*"));
56     }
57 }
58
59 # We now have a list of all files to check, so output a plan and run the
60 # tests.  We can't use all_pod_files_spelling_ok because it refuses to check
61 # non-Perl files and Stanford-internal packages have a lot of shell scripts
62 # with POD documentation.
63 plan tests => scalar(@files);
64 for my $file (@files) {
65     pod_file_spelling_ok($file);
66 }