r50977 - in /branches/upstream/libtest-pod-perl/current: Build.PL Changes MANIFEST META.yml Makefile.PL Pod.pm lib/ lib/Test/ lib/Test/Pod.pm t/link.pod t/link.t t/spaced-directives.t
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Fri Jan 15 02:17:29 UTC 2010
Author: jawnsy-guest
Date: Fri Jan 15 02:17:04 2010
New Revision: 50977
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=50977
Log:
[svn-upgrade] Integrating new upstream version, libtest-pod-perl (1.41)
Added:
branches/upstream/libtest-pod-perl/current/Build.PL
branches/upstream/libtest-pod-perl/current/lib/
branches/upstream/libtest-pod-perl/current/lib/Test/
branches/upstream/libtest-pod-perl/current/lib/Test/Pod.pm
Removed:
branches/upstream/libtest-pod-perl/current/Makefile.PL
branches/upstream/libtest-pod-perl/current/Pod.pm
branches/upstream/libtest-pod-perl/current/t/link.pod
branches/upstream/libtest-pod-perl/current/t/link.t
Modified:
branches/upstream/libtest-pod-perl/current/Changes
branches/upstream/libtest-pod-perl/current/MANIFEST
branches/upstream/libtest-pod-perl/current/META.yml
branches/upstream/libtest-pod-perl/current/t/spaced-directives.t
Added: branches/upstream/libtest-pod-perl/current/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/Build.PL?rev=50977&op=file
==============================================================================
--- branches/upstream/libtest-pod-perl/current/Build.PL (added)
+++ branches/upstream/libtest-pod-perl/current/Build.PL Fri Jan 15 02:17:04 2010
@@ -1,0 +1,26 @@
+use strict;
+use warnings;
+use Module::Build;
+
+Module::Build->new(
+ module_name => 'Test::Pod',
+ license => 'perl',
+ configure_requires => { 'Module::Build' => '0.30', },
+ build_requires => {
+ 'Module::Build' => '0.30',
+ 'Test::More' => '0.70',
+ },
+ requires => {
+ 'Pod::Simple' => '3.07',
+ 'Test::More' => '0.70',,
+ 'Test::Builder::Tester' => '1.02',
+ 'File::Spec' => 0,
+ },
+ meta_merge => {
+ resources => {
+ homepage => 'http://search.cpan.org/dist/Test-Pod/',
+ bugtracker => 'http://github.com/theory/test-xpod/issues/',
+ repository => 'http://github.com/theory/test-pod/tree/',
+ }
+ },
+)->create_build_script;
Modified: branches/upstream/libtest-pod-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/Changes?rev=50977&op=diff
==============================================================================
--- branches/upstream/libtest-pod-perl/current/Changes (original)
+++ branches/upstream/libtest-pod-perl/current/Changes Fri Jan 15 02:17:04 2010
@@ -1,4 +1,10 @@
Change log for Test::Pod
+
+1.41 - 2010-01-14T20:09:25
+ * Maintenance transfered to David Wheeler.
+ * Test::Pod no longer complains about the construct L<text|url>, as it is
+ no longer illegal (as of Perl 5.11.3).
+ * Switched to Module::Build.
1.40 - Sun Jul 12 23:32:11 CDT 2009
[THINGS THAT MAY BREAK YOUR CODE]
Modified: branches/upstream/libtest-pod-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/MANIFEST?rev=50977&op=diff
==============================================================================
--- branches/upstream/libtest-pod-perl/current/MANIFEST (original)
+++ branches/upstream/libtest-pod-perl/current/MANIFEST Fri Jan 15 02:17:04 2010
@@ -1,8 +1,8 @@
+Build.PL
Changes
-Makefile.PL
-MANIFEST
-Pod.pm
-
+lib/Test/Pod.pm
+MANIFEST This list of files
+META.yml
t/00-load.t
t/all_pod_files.t
t/cut-outside-block.pod
@@ -11,12 +11,9 @@
t/good.t
t/item-ordering.pod
t/item-ordering.t
-t/link.pod
-t/link.t
t/load.t
t/missing-file.t
t/pod.t
-t/pod/good-pod-script
t/pod/good-pod-script
t/pod/good.pod
t/pod/no_pod.pod
@@ -25,4 +22,3 @@
t/spaced-directives.t
t/unknown-directive.pod
t/unknown-directive.t
-META.yml Module meta-data (added by MakeMaker)
Modified: branches/upstream/libtest-pod-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/META.yml?rev=50977&op=diff
==============================================================================
--- branches/upstream/libtest-pod-perl/current/META.yml (original)
+++ branches/upstream/libtest-pod-perl/current/META.yml Fri Jan 15 02:17:04 2010
@@ -1,24 +1,30 @@
---- #YAML:1.0
-name: Test-Pod
-version: 1.40
-abstract: ~
-author: []
-license: unknown
-distribution_type: module
+---
+abstract: 'check for POD errors in files'
+author:
+ - 'Currently maintained by David E. Wheeler, C<< <david at justatheory.com> >>.'
+build_requires:
+ Module::Build: 0.30
+ Test::More: 0.70
configure_requires:
- ExtUtils::MakeMaker: 0
-build_requires:
- ExtUtils::MakeMaker: 0
+ Module::Build: 0.30
+generated_by: 'Module::Build version 0.3601'
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
+name: Test-Pod
+provides:
+ Test::Pod:
+ file: lib/Test/Pod.pm
+ version: 1.41
requires:
- File::Spec: 0
- Pod::Simple: 3.07
- Test::Builder::Tester: 1.02
- Test::More: 0.62
-no_index:
- directory:
- - t
- - inc
-generated_by: ExtUtils::MakeMaker version 6.52
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ File::Spec: 0
+ Pod::Simple: 3.07
+ Test::Builder::Tester: 1.02
+ Test::More: 0.70
+resources:
+ bugtracker: http://github.com/theory/test-xpod/issues/
+ homepage: http://search.cpan.org/dist/Test-Pod/
+ license: http://dev.perl.org/licenses/
+ repository: http://github.com/theory/test-pod/tree/
+version: 1.41
Added: branches/upstream/libtest-pod-perl/current/lib/Test/Pod.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/lib/Test/Pod.pm?rev=50977&op=file
==============================================================================
--- branches/upstream/libtest-pod-perl/current/lib/Test/Pod.pm (added)
+++ branches/upstream/libtest-pod-perl/current/lib/Test/Pod.pm Fri Jan 15 02:17:04 2010
@@ -1,0 +1,296 @@
+package Test::Pod;
+
+use strict;
+
+=head1 NAME
+
+Test::Pod - check for POD errors in files
+
+=head1 VERSION
+
+Version 1.41
+
+=cut
+
+our $VERSION = '1.41';
+
+=head1 SYNOPSIS
+
+C<Test::Pod> lets you check the validity of a POD file, and report
+its results in standard C<Test::Simple> fashion.
+
+ use Test::Pod tests => $num_tests;
+ pod_file_ok( $file, "Valid POD file" );
+
+Module authors can include the following in a F<t/pod.t> file and
+have C<Test::Pod> automatically find and check all POD files in a
+module distribution:
+
+ use Test::More;
+ eval "use Test::Pod 1.00";
+ plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+ all_pod_files_ok();
+
+You can also specify a list of files to check, using the
+C<all_pod_files()> function supplied:
+
+ use strict;
+ use Test::More;
+ eval "use Test::Pod 1.00";
+ plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+ my @poddirs = qw( blib script );
+ all_pod_files_ok( all_pod_files( @poddirs ) );
+
+Or even (if you're running under L<Apache::Test>):
+
+ use strict;
+ use Test::More;
+ eval "use Test::Pod 1.00";
+ plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+
+ my @poddirs = qw( blib script );
+ use File::Spec::Functions qw( catdir updir );
+ all_pod_files_ok(
+ all_pod_files( map { catdir updir, $_ } @poddirs )
+ );
+
+=head1 DESCRIPTION
+
+Check POD files for errors or warnings in a test file, using
+C<Pod::Simple> to do the heavy lifting.
+
+=cut
+
+use 5.008;
+
+use Test::Builder;
+use File::Spec;
+use Pod::Simple;
+
+our %ignore_dirs = (
+ '.bzr' => 'Bazaar',
+ '.git' => 'Git',
+ '.hg' => 'Mercurial',
+ '.pc' => 'quilt',
+ '.svn' => 'Subversion',
+ CVS => 'CVS',
+ RCS => 'RCS',
+ SCCS => 'SCCS',
+ _darcs => 'darcs',
+ _sgbak => 'Vault/Fortress',
+);
+
+my $Test = Test::Builder->new;
+
+sub import {
+ my $self = shift;
+ my $caller = caller;
+
+ for my $func ( qw( pod_file_ok all_pod_files all_pod_files_ok ) ) {
+ no strict 'refs';
+ *{$caller."::".$func} = \&$func;
+ }
+
+ $Test->exported_to($caller);
+ $Test->plan(@_);
+}
+
+sub _additional_test_pod_specific_checks {
+ my ($ok, $errata, $file) = @_;
+
+ return $ok;
+}
+
+=head1 FUNCTIONS
+
+=head2 pod_file_ok( FILENAME[, TESTNAME ] )
+
+C<pod_file_ok()> will okay the test if the POD parses correctly. Certain
+conditions are not reported yet, such as a file with no pod in it at all.
+
+When it fails, C<pod_file_ok()> will show any pod checking errors as
+diagnostics.
+
+The optional second argument TESTNAME is the name of the test. If it
+is omitted, C<pod_file_ok()> chooses a default test name "POD test
+for FILENAME".
+
+=cut
+
+sub pod_file_ok {
+ my $file = shift;
+ my $name = @_ ? shift : "POD test for $file";
+
+ if ( !-f $file ) {
+ $Test->ok( 0, $name );
+ $Test->diag( "$file does not exist" );
+ return;
+ }
+
+ my $checker = Pod::Simple->new;
+
+ $checker->output_string( \my $trash ); # Ignore any output
+ $checker->parse_file( $file );
+
+ my $ok = !$checker->any_errata_seen;
+ $ok = _additional_test_pod_specific_checks( $ok, ($checker->{errata}||={}), $file );
+
+ $Test->ok( $ok, $name );
+ if ( !$ok ) {
+ my $lines = $checker->{errata};
+ for my $line ( sort { $a<=>$b } keys %$lines ) {
+ my $errors = $lines->{$line};
+ $Test->diag( "$file ($line): $_" ) for @$errors;
+ }
+ }
+
+ return $ok;
+} # pod_file_ok
+
+=head2 all_pod_files_ok( [@files/@directories] )
+
+Checks all the files in C<@files> for valid POD. It runs
+L<all_pod_files()> on each file/directory, and calls the C<plan()>
+function for you (one test for each function), so you can't have
+already called C<plan>.
+
+If C<@files> is empty or not passed, the function finds all POD
+files in the F<blib> directory if it exists, or the F<lib> directory
+if not. A POD file is one that ends with F<.pod>, F<.pl> and F<.pm>,
+or any file where the first line looks like a shebang line.
+
+If you're testing a module, just make a F<t/pod.t>:
+
+ use Test::More;
+ eval "use Test::Pod 1.00";
+ plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+ all_pod_files_ok();
+
+Returns true if all pod files are ok, or false if any fail.
+
+=cut
+
+sub all_pod_files_ok {
+ my @files = @_ ? @_ : all_pod_files();
+
+ $Test->plan( tests => scalar @files );
+
+ my $ok = 1;
+ foreach my $file ( @files ) {
+ pod_file_ok( $file, $file ) or undef $ok;
+ }
+ return $ok;
+}
+
+=head2 all_pod_files( [@dirs] )
+
+Returns a list of all the Perl files in I<$dir> and in directories
+below. If no directories are passed, it defaults to F<blib> if
+F<blib> exists, or else F<lib> if not. Skips any files in CVS,
+.svn, .git and similar directories. See C<%Test::Pod::ignore_dirs>
+for a list of them.
+
+A Perl file is:
+
+=over 4
+
+=item * Any file that ends in F<.PL>, F<.pl>, F<.pm>, F<.pod> or F<.t>.
+
+=item * Any file that has a first line with a shebang and "perl" on it.
+
+=back
+
+The order of the files returned is machine-dependent. If you want them
+sorted, you'll have to sort them yourself.
+
+=cut
+
+sub all_pod_files {
+ my @queue = @_ ? @_ : _starting_points();
+ my @pod = ();
+
+ while ( @queue ) {
+ my $file = shift @queue;
+ if ( -d $file ) {
+ local *DH;
+ opendir DH, $file or next;
+ my @newfiles = readdir DH;
+ closedir DH;
+
+ @newfiles = File::Spec->no_upwards( @newfiles );
+ @newfiles = grep { not exists $ignore_dirs{ $_ } } @newfiles;
+
+ foreach my $newfile (@newfiles) {
+ my $filename = File::Spec->catfile( $file, $newfile );
+ if ( -f $filename ) {
+ push @queue, $filename;
+ }
+ else {
+ push @queue, File::Spec->catdir( $file, $newfile );
+ }
+ }
+ }
+ if ( -f $file ) {
+ push @pod, $file if _is_perl( $file );
+ }
+ } # while
+ return @pod;
+}
+
+sub _starting_points {
+ return 'blib' if -e 'blib';
+ return 'lib';
+}
+
+sub _is_perl {
+ my $file = shift;
+
+ return 1 if $file =~ /\.PL$/;
+ return 1 if $file =~ /\.p(?:l|m|od)$/;
+ return 1 if $file =~ /\.t$/;
+
+ open my $fh, '<', $file or return;
+ my $first = <$fh>;
+ close $fh;
+
+ return 1 if defined $first && ($first =~ /^#!.*perl/);
+
+ return;
+}
+
+=head1 TODO
+
+STUFF TO DO
+
+Note the changes that are being made.
+
+Note that you no longer can test for "no pod".
+
+=head1 AUTHOR
+
+Currently maintained by David E. Wheeler, C<< <david at justatheory.com> >>.
+
+Originally by brian d foy.
+
+Maintainer emeritus: Andy Lester, C<< <andy at petdance.com> >>.
+
+=head1 ACKNOWLEDGEMENTS
+
+Thanks to
+Andy Lester,
+David Wheeler,
+Paul Miller
+and
+Peter Edwards
+for contributions and to C<brian d foy> for the original code.
+
+=head1 COPYRIGHT
+
+Copyright 2006-2010, Andy Lester. Some Rights Reserved.
+
+You may use, modify, and distribute this package under the terms
+as the Artistic License v2.0 or GNU Public License v2.0.
+
+=cut
+
+1;
Modified: branches/upstream/libtest-pod-perl/current/t/spaced-directives.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libtest-pod-perl/current/t/spaced-directives.t?rev=50977&op=diff
==============================================================================
--- branches/upstream/libtest-pod-perl/current/t/spaced-directives.t (original)
+++ branches/upstream/libtest-pod-perl/current/t/spaced-directives.t Fri Jan 15 02:17:04 2010
@@ -12,11 +12,11 @@
BAD: {
my $name = 'Test name: Something not likely to accidentally occur!';
- my $file = 't/spaced-rectives.pod';
+ my $file = 't/spaced-directives.pod';
test_out( "not ok 1 - $name" );
pod_file_ok( $file, $name );
test_fail(-1);
- test_diag( "$file (9): Unknown directive: =over4",);
- test_diag( "$file (13): Unknown directive: =under",);
+ test_diag('*** WARNING: line containing nothing but whitespace in paragraph at line 11 in file t/spaced-directives.pod');
+ test_diag('*** WARNING: line containing nothing but whitespace in paragraph at line 17 in file t/spaced-directives.pod');
test_test( "$name is bad" );
}
More information about the Pkg-perl-cvs-commits
mailing list